版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟪绦蛟O(shè)計形成性考核冊作業(yè)四一、填空題:1.設(shè)px是指向一種類對象指針變量,則執(zhí)行“deletepx;”語句時,將自動調(diào)用該類(C)。A.無參構(gòu)造函數(shù)B.帶參構(gòu)造函數(shù)C.析構(gòu)函數(shù)D.拷貝構(gòu)造函數(shù)2.假定AB為一種類,則執(zhí)行“ABa[10];”語句時調(diào)用該類無參構(gòu)造函多次數(shù)為(D)。A.0B.1C.9D.103.假定AB為一種類,則執(zhí)行“ABa(2),b[3],*p[4];”語句時共調(diào)用該類構(gòu)造函多次數(shù)為(B)。A.3B.4C.5D.94.假定AB為一種類,px為指向該類一種具有n個對象動態(tài)數(shù)組指針,則執(zhí)行“delete[]px;”語句時共調(diào)用該類析構(gòu)函多次數(shù)為(C)。A.0B.1C.nD.n+15.對類中引用成員初始化是通過構(gòu)造函數(shù)中給出(C)實現(xiàn)。A.函數(shù)體B.參數(shù)表C.初始化表D.初始化表或函數(shù)體6.一種類靜態(tài)數(shù)據(jù)成員所示屬性(C)。A.是類或?qū)ο髮傩訠.只是對象屬性C.只是類屬性D.類和友元屬性7.被非靜態(tài)成員函數(shù)訪問類數(shù)據(jù)成員(A)。A.可以是非靜態(tài)數(shù)據(jù)成員或靜態(tài)數(shù)據(jù)成員B.不也許是類靜態(tài)數(shù)據(jù)成員C.只能是類非靜態(tài)數(shù)據(jù)成員D.只能是類靜態(tài)數(shù)據(jù)成員8.引入友元重要目是為了(C)。A.增強(qiáng)數(shù)據(jù)安全性B.提高程序可靠性C.提高程序效率和靈活性D.保證類封裝性9.在重載一種運(yùn)算符時,其參數(shù)表中沒有任何參數(shù),這表白該運(yùn)算符是(B)。A.作為友元函數(shù)重載1元運(yùn)算符B.作為成員函數(shù)重載1元運(yùn)算符C.作為友元函數(shù)重載2元運(yùn)算符D.作為成員函數(shù)重載2元運(yùn)算符10.如果表達(dá)式a+b中“+”是作為成員函數(shù)重載運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式,則可表達(dá)為(A)。A.a.operator+(b)B.b.operator+(a)C.operator+(a,b)D.operator(a+b)11.如果表達(dá)式++a中“++”是作為成員函數(shù)重載運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式,則可表達(dá)為(D)。A.a.operator++(1)B.operator++(a)C.operator++(a,1)D.a.operator++()12.一種程序中數(shù)組a和變量k定義為“inta[5][10],k;”,且程序中包具有語句“a(2,5)=++k*3;”,則此語句中必定屬于重載操作符是(A)。A.()B.=C.++D.*13.下面是重載雙目運(yùn)算符+普通函數(shù)原形,其中最符合+本來含義是(A)。A.Valueoperator+(Value,Value);B.Valueoperator+(Value,int);C.Value&operator+(Value,Value);D.Value&operator+(Value&,Value&);14.關(guān)于插入運(yùn)算符<<重載,下列說法不對的是(B)。A.運(yùn)算符函數(shù)返回值類型是ostream&。B.重載運(yùn)算符必要定義為類成員函數(shù)。C.運(yùn)算符函數(shù)第一種參數(shù)類型是ostream&。D.運(yùn)算符函數(shù)有兩個參數(shù)。15.C++繼承性容許派生類繼承基類(C)。A.某些特性,并容許增長新特性或重定義基類特性B.某些特性,但不容許增長新特性或重定義基類特性C.所有特性,并容許增長新特性或重定義基類特性D.所有特性,但不容許增長新特性或重定義基類特性16.對于公有繼承,基類中私有成員在派生類中將(C)。A.可以直接使用成員名訪問B.可以通過成員運(yùn)算符訪問C.依然是基類私有成員D.變?yōu)榕缮愃接谐蓡T17.建立包具有類對象成員派生類對象時,自動調(diào)用構(gòu)造函數(shù)執(zhí)行順序依次為(C)構(gòu)造函數(shù)。A.自己所屬類、對象成員所屬類、基類B.對象成員所屬類、基類、自己所屬類C.基類、對象成員所屬類、自己所屬類D.基類、自己所屬類、對象成員所屬類18.下列對派生類描述中錯誤說法是:(D)。A.派生類至少有一種基類B.派生類可作為另一種派生類基類C.派生類除了包括它直接定義成員外,還包括其基類成員D.派生類所繼承基類成員訪問權(quán)限保持不變二、填空題1.當(dāng)一種隊列為滿時,不能對其做___插入_____元素操作。2.在一種用鏈表實現(xiàn)隊列類中,假定每個結(jié)點包括值域用elem表達(dá),包括指針域用next表達(dá),鏈隊隊首指針用elemHead表達(dá),隊尾指針用elemTail表達(dá),當(dāng)鏈隊非空時,__elemHead->next___________指向隊首結(jié)點后繼(即下一種)結(jié)點。3.在一種用鏈表實現(xiàn)隊列類中,若鏈隊為空或只具有一種結(jié)點,則隊首指針值與隊尾指針值___相似_____。4.一種類___析構(gòu)_______函數(shù)通慣用于實現(xiàn)釋放該類對象中指針成員所指向動態(tài)存儲空間任務(wù)。5.定義類動態(tài)對象數(shù)組時,其元素只能靠自動調(diào)用該類___無參構(gòu)造函數(shù)_________來進(jìn)行初始化。6.假定AB為一種類,則執(zhí)行“ABa[10];”語句時,系統(tǒng)自動調(diào)用該類構(gòu)造函多次數(shù)為___10_____。7.對類中引用成員初始化只能通過在構(gòu)造函數(shù)中給出___初始化表_______來實現(xiàn)。8.假定要把a(bǔ)a定義為AB類中一種引用整數(shù)型數(shù)據(jù)成員,則定義語句為_int&aa;__。9.假定顧客為類AB定義了一種構(gòu)造函數(shù)“AB(intaa){a=aa;}”,則系統(tǒng)__不會_______為該類自動定義一種無參構(gòu)造函數(shù)"AB(){}"。10.假定顧客為類AB定義了一種構(gòu)造函數(shù)“AB(intaa=0):a(aa){}”,則定義該類對象時,可以有____2____種不同定義格式。11.假定顧客為類AB定義了一種構(gòu)造函數(shù)“AB(intaa=0,intbb=0){a=aa;b=bb;}”,則定義該類對象時,可以有___3_____種不同定義格式。12.假定顧客只為類AB定義了一種構(gòu)造函數(shù)“AB():a(0),b(0){}”,則定義該類對象x定義語句“ABx(5);”是___錯誤______(對的/錯誤)。13.靜態(tài)成員函數(shù)只能____訪問類靜態(tài)數(shù)據(jù)成員,_不能___訪問類非靜態(tài)數(shù)據(jù)成員。14.重載運(yùn)算符時,該運(yùn)算符__優(yōu)先級______、結(jié)合性以及操作符個數(shù)不容許變化。15.作為類成員函數(shù)重載一種運(yùn)算符時,參數(shù)表中只有一種參數(shù),闡明該運(yùn)算符有____2____個操作數(shù)。16.重載抽取運(yùn)算符>>時,其運(yùn)算符函數(shù)返回值類型應(yīng)當(dāng)是___istream&_________。17.類型轉(zhuǎn)換函數(shù)沒有____返回值________類型,并且參數(shù)表為__空__________。18.當(dāng)保護(hù)繼承時,基類_公有和保護(hù)__成員在派生類中成為保護(hù)成員,派生類對象不能直接訪問基類任何____成員。19.引進(jìn)虛基類主線目是為了消除____二義性________。三、程序填空:1.已知一種運(yùn)用數(shù)組實現(xiàn)棧類定義如下:constintARRAY_SIZE=10;classStack{public: voidInit(){top=-1;}//初始化棧為空voidPush(intnewElem);//向棧中壓入一種元素 intPop();//從棧頂彈出一種元素 boolEmpty(){//判??読f(top==-1)returntrue;elsereturnfalse;} intDepth(){returntop+1;}//返回棧深度 voidPrint();//按照后進(jìn)先出原則依次輸出棧中每個元素,直到??諡橹筽rivate: intelem[ARRAY_SIZE];//用于保存堆棧元素數(shù)組 inttop;//指明棧頂元素位置指針};該類Pop和Print函數(shù)實現(xiàn)分別如下:___(1)___{ if(top==-1){ cout<<"???"<<endl; exit(1);//中斷運(yùn)營 } return___(2)___;}voidStack::Print(){ while(!Empty()) cout<<___(3)___<<'';}(1)intStack::Pop()(2)elem[top--](3)Pop()2.#include<iostream.h>#include<stdlib.h>classA{int*a;intn;intMaxLen;public:A():a(0),n(0),MaxLen(0){}A(int*aa,intnn,intMM){n=nn;MaxLen=MM;if(n>MaxLen)exit(1);___(1)___;//由a指向長度為MaxLen動態(tài)數(shù)組for(inti=0;i<n;i++)a[i]=aa[i];}~A(){delete[]a;}intGetValue(inti)___(2)___//函數(shù)體返回a[i]值};voidmain(){intb[10]={1,2,3,4,5,6,7,8,9,10}; Ar(b,10,10);inti,s=0;for(i=0;i<10;i++)___(3)___;//把r對象a數(shù)據(jù)成員中每個//元素值依次累加到s中cout<<"s="<<s<<endl;}(1)a=newint[MaxLen](2){returna[i];}(3)s+=r.GetValue(i)3.在下面一段類定義中,Derived類公有繼承了基類Base。需要填充函數(shù)由注釋內(nèi)容給出了功能。classBase{private:intmem1,mem2;//基類數(shù)據(jù)成員public: Base(intm1,intm2){ mem1=m1;mem2=m2; } voidoutput(){cout<<mem1<<''<<mem2<<'';}//...}; classDerived:publicBase{private:intmem3;//派生類自身數(shù)據(jù)成員public://構(gòu)造函數(shù),由m1和m2分別初始化mem1和mem2,由m3初始化mem3Derived(intm1,intm2,intm3);//輸出mem1,mem2和mem3數(shù)據(jù)成員值voidoutput(){ ___(1)___;cout<<mem3<<endl; }//...};Derived::Derived(intm1,intm2,intm3):___(2)___{___(3)___;}(1)Base::output()(2)Base(m1,m2)(3)mem3=m3四、寫出程序運(yùn)營成果:1.#include<iostream.h>classFranction{//定義分?jǐn)?shù)類 intnume;//定義分子 intdeno;//定義分母public://把*this化簡為最簡分?jǐn)?shù),詳細(xì)定義在此外文獻(xiàn)中實現(xiàn) voidFranSimp();//返回兩個分?jǐn)?shù)*this和x之和,詳細(xì)定義在此外文獻(xiàn)中實現(xiàn) FranctionFranAdd(constFranction&x);//置分?jǐn)?shù)分子和分母分別0和1 voidInitFranction(){nume=0;deno=1;}//置分?jǐn)?shù)分子和分母分別n和d voidInitFranction(intn,intd){nume=n;deno=d;} //輸出一種分?jǐn)?shù) voidFranOutput(){cout<<nume<<'/'<<deno<<endl;}}; voidmain(){ Franctiona,b,c,d; a.InitFranction(6,15); b.InitFranction(3,10); c.InitFranction(); c=a.FranAdd(b); d=c.FranAdd(a); cout<<"a:";a.FranOutput(); cout<<"b:";b.FranOutput(); cout<<"c:";c.FranOutput(); cout<<"d:";d.FranOutput();}程序運(yùn)營成果為:a:6/15b:3/10c:7/10d:11/102.#include<iostream.h>classA{inta,b;public:A(){a=b=0;}A(intaa,intbb){a=aa;b=bb;} intSum(){returna+b;} int*Mult(){ int*p=newint(a*b); returnp; }};voidmain(){int*k; Ax(2,3),*p;p=newA(4,5);cout<<x.Sum()<<''<<*(x.Mult())<<endl;cout<<p->Sum()<<''<<*(k=p->Mult())<<endl;deletek;}程序運(yùn)營成果為:569203.(此題作業(yè)本上缺漏)#include<iostream.h>classDate{public: Date(inty=,intm=1,intd=1){Year=y;Month=m;Day=d;} voidPrintDate(){cout<<Year<<'/'<<Month<<'/'<<Day<<endl;}protected: intYear,Month,Day;};classTime{public: Time(inth=0,intm=0,ints=0){Hour=h;Minutes=m;Seconds=s;} voidPrintTime(){cout<<Hour<<':'<<Minutes<<':'<<Seconds<<endl;}protected: intHour,Minutes,Seconds;};classDate_Time:publicDate,publicTime{public: Date_Time(){}; Date_Time(inty,intmo,intd,inth=0,intmi=0,ints=0):Date(y,mo,d),Time(h,mi,s){}; voidPrintDate_Time(){PrintDate();PrintTime();}};voidmain(){ Date_Timea,b(,10,1,23,59,59),c(,12,31); a.PrintDate_Time(); b.PrintDate_Time(); c.PrintDate_Time();}程序運(yùn)營成果為:/1/10:0:0/10/123:59:59/12/310:0:04.(此題作業(yè)本上缺漏)/****************test.h**************************/#include<iostream.h>classPoint{public: voidInitP(floatx0=0,floaty0=0){X=x0,Y=y0;} voidMove(floatxf,floatyf){X+=xf;Y+=yf;} floatGetX(){returnX;} floatGetY(){returnY;}private:floatX,Y;};classRectangle:publicPoint{public: voidInitR(floatx,floaty,floatw,floath){ InitP(x,y);W=w;H=h; } voidZoomR(floatk){W*=k,H*=k;} floatGetH(){returnH;} floatGetW(){returnW;}private: floatW,H;};//***********************************test.cpp*******************#include”test.h”voidmain(){ Rectanglerect; rect.InitR(10,20,30,40); cout<<rect.GetX()<<','<<rect.GetY()<<',' <<rect.GetW()<<','<<rect.GetH()<<endl; rect.Move(5,6); cout<<rect.GetX()<<','<<rect.GetY()<<',' <<rect.GetW()<<','<<rect.GetH()<<endl; rect.ZoomR(7); cout<<rect.GetX()<<','<<rect.GetY()<<',' <<rect.GetW()<<','<<rect.GetH()<<endl;}程序運(yùn)營成果為:10,20,30,4015,26,30,4015,26,210,280五、指出程序或函數(shù)功能1.intCount(IntNode*f){ if(!f)return0; intc=0;while(f){ c++; f=f->next; } returnc;}假定IntNode類型定義為:structIntNode{ intdata;//結(jié)點值域 IntNode*next;//結(jié)點指針域};函數(shù)功能為:記錄出以f為表頭指針鏈表中結(jié)點個數(shù)。2.intf(constchar*s){inti=0;while(*s++)i++;returni;};函數(shù)功能為:求出并返回字符指針參數(shù)s所指向字符串長度。六、程序改錯,請依照程序段或函數(shù)模塊功能改寫個別地方錯誤。1.下面是分?jǐn)?shù)類fract定義及測試主程序,在類定義及其友元函數(shù)定義中有兩處錯誤,改正錯誤后程序應(yīng)顯示41/28,請指出錯誤所在行行號并給出改正意見。classfract{intden;//分子intnum;//分母public:fract(intd=0,intn=1):den(d),num(n){}//1行friendfract&operator+=(fract,fract&);//2行voidshow(){cout<<den<<'/'<<num;}//3行};//4行friendfract&operator+=(fractf1,fractf2)//5行{//7行f1.den=f1.den*f2.num+f1.num*f2.den;//8行f1.num*=f2.num;//9行returnf1;//10行}voidmain(){fractfr(3,4);fr+=fract(5,7);fr.show();}錯誤行行號為__2____和____5____。分別改正為___friendfract&operator+=(fract&,fract);__________和___fract&operator+=(fract&f1,fractf2);___。七、編程:1.依照下面類中構(gòu)造函數(shù)原型和注釋寫出它類外定義。classStrings{ char*s;//指向動態(tài)分派字符串?dāng)?shù)組空間 intn;//記錄字符串長度public: Strings(char*str);//構(gòu)造函數(shù),運(yùn)用str字符串長度初始化n, //運(yùn)用str字符串初始化s所指字符串空間 Strings(Strings&str);//拷貝構(gòu)造函數(shù) Strings&Give(Strings&str);//實現(xiàn)str賦值給*this功能StringsUion(Strings&str);//實現(xiàn)*this和str中字符串合并 //功能,把合并成果存入暫時對象并返回 intLenth(){returnn;}//返回字符串長度 voidPrint(){cout<<s<<endl;}//輸出字符串};類外定義如下:Strings::Strings(Strings&str)//拷貝構(gòu)造函數(shù) { n=str.n; s=newchar[n+1]; strcpy(s,str.s); } 2.下列程序段中,A_class成員函數(shù)Variance()可求出兩數(shù)平方差,請改寫該程序段,把Variance()函數(shù)從A_class類中分離出來,用友元函數(shù)來實現(xiàn)該函數(shù)功能。classA_class{private:intx,y,t;public:A_class(inti,intj):x(i),y(j){if(y>x){t=x;x=y;y=t;}}intVariance(){returnx*x-y*y;}//其他函數(shù)從略};voidmain(){A_classA_obj(3,5);cout<<"Result:"<<A_obj.Variance()<<endl;}改寫后程序如下:classA_class{private:intx,y,t;public:A_class(inti,intj):x(i),y(j){if(y>x){t=x;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)場規(guī)劃課程設(shè)計
- 2024年度學(xué)校廁所清潔服務(wù)與垃圾處理合同3篇
- 開工典禮發(fā)言稿范文(12篇)
- 干事發(fā)言稿(23篇)
- 畫砂紙幼兒課程設(shè)計
- 工程經(jīng)濟(jì)課程設(shè)計造價
- 班級集體勞動課程設(shè)計
- 2024年委托中介房屋買賣合同違約責(zé)任合同3篇
- 學(xué)校防踩踏應(yīng)急方案(5篇)
- 2025年山東淄博淄川區(qū)衛(wèi)生健康系統(tǒng)事業(yè)單位招聘119人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 燃燒脂肪-流行健身舞蹈智慧樹知到期末考試答案2024年
- 粵23G-T011 預(yù)應(yīng)力混凝土空心方樁
- 2024年廣西交通投資集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 村委會地震演練方案及流程
- 2024年四川省成考(專升本)生理學(xué)護(hù)理學(xué)專業(yè)考試真題含解析
- 網(wǎng)絡(luò)安全攻防演練
- 采購部經(jīng)理年度工作總結(jié)
- pvc電纜保護(hù)管制造工藝
- 湖南省懷化市2023-2024學(xué)年九年級上學(xué)期1月期末歷史試題(無答案)
- 黑臭水體治理技術(shù)課件
- 小學(xué)教育課件教案學(xué)習(xí)網(wǎng)絡(luò)隱私保護(hù)和數(shù)據(jù)加密技術(shù)
評論
0/150
提交評論