![復(fù)習(xí)習(xí)題課教學(xué)課件_第1頁](http://file4.renrendoc.com/view/080533bd2b1242a30f2e89acf8088168/080533bd2b1242a30f2e89acf80881681.gif)
![復(fù)習(xí)習(xí)題課教學(xué)課件_第2頁](http://file4.renrendoc.com/view/080533bd2b1242a30f2e89acf8088168/080533bd2b1242a30f2e89acf80881682.gif)
![復(fù)習(xí)習(xí)題課教學(xué)課件_第3頁](http://file4.renrendoc.com/view/080533bd2b1242a30f2e89acf8088168/080533bd2b1242a30f2e89acf80881683.gif)
![復(fù)習(xí)習(xí)題課教學(xué)課件_第4頁](http://file4.renrendoc.com/view/080533bd2b1242a30f2e89acf8088168/080533bd2b1242a30f2e89acf80881684.gif)
![復(fù)習(xí)習(xí)題課教學(xué)課件_第5頁](http://file4.renrendoc.com/view/080533bd2b1242a30f2e89acf8088168/080533bd2b1242a30f2e89acf80881685.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
61、輟學(xué)如磨刀之石,不見其損,日有所虧。62、奇文共欣贊,疑義相與析。63、曖曖遠(yuǎn)人村,依依墟里煙,狗吠深巷中,雞鳴桑樹顛。64、一生復(fù)能幾,倏如流電驚。65、少無適俗韻,性本愛丘山。復(fù)習(xí)習(xí)題課復(fù)習(xí)習(xí)題課61、輟學(xué)如磨刀之石,不見其損,日有所虧。62、奇文共欣贊,疑義相與析。63、曖曖遠(yuǎn)人村,依依墟里煙,狗吠深巷中,雞鳴桑樹顛。64、一生復(fù)能幾,倏如流電驚。65、少無適俗韻,性本愛丘山。復(fù)習(xí)習(xí)題課復(fù)習(xí)--習(xí)題課閱讀以下程序后填空#include<iostream.h>classCSample{ inti;public: CSample() { cout<<"Constructor"<<","; i=0; } ~CSample(){cout<<"Destructor"<<endl;} voidDisplay(){cout<<"i="<<i<<",";}};voidmain(){ CSamplea; a.Display();}其運(yùn)行結(jié)果:,,。Constructor,i=0,Destructor閱讀以下程序后填空#include<iostream.h>classA{ inta,b;public: A(inti,intj){a=i;b=j;} voidmove(intx,inty) {a+=x;b+=y;} voidshow() { cout<<"("<<a<<",“ <<b<<")"<<endl; }};classB:privateA{ intx,y;public: B(inti,intj,intk,intl):A(i,j) {x=k;y=l;} voidshow() {cout<<x<<","<<y<<endl;} voidfun(){move(3,5);} voidf1(){A::show();}};voidmain(){ Ae(1,2); e.show(); Bd(3,4,5,6); d.fun(); d.show(); d.f1();}
其運(yùn)行結(jié)果:
(1,2)5,6(6,9)填空題動態(tài)多態(tài)性是在程序運(yùn)行時通過改變具有虛函數(shù)定義的基類
使其指向不同派生類
從而調(diào)用不同版本的
。如果需要在派生類中訪問基類的私有成員可以通過以下兩種方法實現(xiàn):(1)在基類中增加
將派生類需要訪問的私有成員定義為
。(2)將需要訪問基類私有成員的派生類的
聲明為基類的
。
選擇題
不是面向?qū)ο笙到y(tǒng)所包含的要素。 A.重載
B.對象
C.類
D.繼承選擇題
不是構(gòu)造函數(shù)的特性。構(gòu)造函數(shù)的函數(shù)名與類名相同構(gòu)造函數(shù)可以重載構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)構(gòu)造函數(shù)必須指定類型說明選擇題下列對重載函數(shù)的描述中,
是錯誤的。重載函數(shù)中不允許使用默認(rèn)參數(shù)重載函數(shù)中編譯是根據(jù)參數(shù)表進(jìn)行選擇的不要使用重載函數(shù)來描述毫不相干的函數(shù)構(gòu)造函數(shù)重載將會給初始化帶來多種方式下列函數(shù)中,
不能重載。 A.成員函數(shù)
B.非成員函數(shù)
C.析構(gòu)函數(shù)
D.構(gòu)造函數(shù)選擇題下列關(guān)于多繼承二義性的描述中,
是錯誤。一個派生類的兩個基類中都有某個同名成員,在派生類中對這個成員的訪問可能出現(xiàn)二義性解決二義性的最常用的方法是對成員名的限定法基類和派生類中同時出現(xiàn)同名函數(shù),也存在二義性問題一個派生類是從兩個基類派生來的,而這兩個基類又有一個共同的基類,對該基類成員進(jìn)行訪問時,也可能出現(xiàn)二義性選擇題下列關(guān)于動態(tài)聯(lián)編的描述中,
是錯誤的。動態(tài)聯(lián)編是以虛函數(shù)為基礎(chǔ)的動態(tài)聯(lián)編是在運(yùn)行時確定所調(diào)用的函數(shù)代碼的動態(tài)聯(lián)編調(diào)用函數(shù)操作是指向?qū)ο蟮闹羔樆驅(qū)ο笠脛討B(tài)聯(lián)編是在編譯時確定操作函數(shù)的選擇題函數(shù)模板max的定義如下:template<classT>Tmax(Tx,Ty){ return(x>y)?x:y;}對于已知變量:inti,j;chara,b;floatf,e;下面對該函數(shù)模板的調(diào)用中:
和
是錯誤的。 A.max(i,j); B.max(a,j); C.max(a,b); D.max(f,e); E.max(e,i);
選擇題面向?qū)ο笙到y(tǒng)的
是一種信息隱藏技術(shù),目的在于將對象的使用者與設(shè)計者分開,使用者不必知道對象的行為實現(xiàn)的細(xì)節(jié),而只需用設(shè)計者提供的
命令對象去做什么即可。 A.多態(tài)性
B.封裝性
C.繼承性
D.復(fù)用性
E.接口
F.屬性 G.狀態(tài)選擇題下列引用的定義中,
是錯誤的。
選擇題inti; int&j=i;
B.inti;int&j;j=i; C.floati;float&j=i; D.chard;char&k=d;下列關(guān)于new運(yùn)算符的描述中,————是錯誤的。它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組使用它創(chuàng)建的對象或?qū)ο髷?shù)組,可以使用運(yùn)算符delete刪除使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)使用它創(chuàng)建對象數(shù)組時必須指定初始值選擇題在C++程序中,對象之間的相互通信通過___?A.繼承實現(xiàn)B.調(diào)用成員函數(shù)實現(xiàn)C.封裝實現(xiàn)D.函數(shù)重載實現(xiàn)選擇題語句ofstreamf(〃SALARY.DAT〃,ios::app|ios::binary);的功能是建立流對象f,試圖打開文件SALARY.DAT并與之連接,并且______A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件B.若文件存在,將其置為空文件;若文件不存在,打開失敗C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件D.若文件存在,打開失??;若文件不存在,建立一個新文件選擇題在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,不正確的敘述是________A.基類的對象可以賦給派生類的對象B.派生類的對象可以初始化基類的引用C.派生類的對象可以直接訪問基類中的成員D.派生類的對象的地址可以賦給指向基類的指針選擇題可以用p.a的形式訪問派生類對象p的基類成員a,其中a是____A.私有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.公有繼承的公有成員選擇題下面說法正確的是_______A.內(nèi)聯(lián)函數(shù)在運(yùn)行時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方B.內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標(biāo)代碼插入每個調(diào)用該函數(shù)的地方C.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D.類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關(guān)鍵字inline定義選擇題友元關(guān)系不能_____?A.繼承B.是類與類的關(guān)系C.是一個類的成員函數(shù)與另一個類的關(guān)系D.提高程序的運(yùn)行效率選擇題下列關(guān)于成員函數(shù)特征的描述中,
是錯誤的。成員函數(shù)一定是內(nèi)聯(lián)函數(shù)成員函數(shù)可以重載成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值成員函數(shù)可以是靜態(tài)的
選擇題下列對運(yùn)算符重載的描述中,
是正確的。運(yùn)算符重載可以改變運(yùn)算數(shù)的個數(shù)運(yùn)算符重載可以改變運(yùn)算符的優(yōu)先級運(yùn)算符重載可以改變運(yùn)算符的結(jié)合性運(yùn)算符重載不可以改變語法結(jié)構(gòu)選擇題下列對派生類的描述中,
是錯誤的。一個派生類可以作為另一個派生類的基類派生類至少有一個基類派生類的成員除了它自己的成員外,還包含了它的基類的成員派生類中繼承的基類成員的訪問權(quán)限在派生類中保持不變選擇題設(shè)置虛基類的目的是
。簡化程序
消除二義性
C.提高運(yùn)行效率
D.減少目標(biāo)代碼選擇題下列關(guān)于虛函數(shù)的描述中,
是正確的。虛函數(shù)是一個static類型的成員函數(shù)虛函數(shù)是一個非成員函數(shù)基類中說明了虛函數(shù)后,派生類中與其對應(yīng)的函數(shù)可不必說明為虛函數(shù)派生類的虛函數(shù)與基類的虛函數(shù)具有不同的參數(shù)個數(shù)和類型
選擇題
是一個在基類中說明的虛函數(shù),它在該基類中沒有定義,但要求任何最終派生類都必須定義自己的版本。 A.虛析構(gòu)函數(shù)
B.虛構(gòu)造函數(shù)
C.純虛函數(shù)
D.靜態(tài)成員函數(shù)選擇題一個
允許用戶為類定義一種模式,使得類中的某些數(shù)據(jù)成員和某些成員函數(shù)的返回值能取任意類型。 A.函數(shù)模板
B.模板函數(shù)
C.類模板
D.模板類選擇題在C++中,打開一個文件,就是將這個文件與一個
建立關(guān)聯(lián);關(guān)閉一個文件就是取消這種關(guān)聯(lián)。 A.類
B.流
C.對象
D.結(jié)構(gòu)
選擇題指出下面的程序代碼中classz的構(gòu)造函數(shù)是否正確,如果不正確,寫出正確的代碼。classx{ inti;public: x(intI){i=I;} //…};classy{ floatf; public: y(floatF){f=F;} //…};classz{ inti; xobjx; yobjy; public:
z(inti,floatf,intI):x(i),y(f),int(I){}
}z(inti,floatf,intI):objx(i),objy(f){i=l;}
z(inti,floatf,intI):objx(i),objy(f),i(I){}
讀程序?qū)戇\(yùn)行結(jié)果#include<iostream.h>
classA
{
public:
A(){cout<<"A::A()called.\n";}
~A(){cout<<"A::~A()called.\n";}
};
classB:publicA
{
public:
B(inti){
cout<<"B::B()called.\n";
buf=newchar[i];}
~B()
{
delete[]buf;
cout<<"B::~B()called.\n";
}
private:
char*buf;
};
voidfun(A*a)
{
deletea;
}
voidmain()
{
A*a=newB(15);
fun(a);
}
A::A()called.B::B()called.A::~A()called.讀程序?qū)戇\(yùn)行結(jié)果#include<iostream.h>
classA
{
public:
A(){cout<<"A::A()called.\n";}
virtual~A(){cout<<"A::~A()called.\n";}
};
classB:publicA
{
public:
B(inti){
cout<<"B::B()called.\n";
buf=newchar[i];}
virtual~B()
{
delete[]buf;
cout<<"B::~B()called.\n";
}
private:
char*buf;
};
voidfun(A*a)
{
deletea;
}
voidmain()
{
A*a=newB(15);
fun(a);
}
A::A()called.B::B()called.B::~B()called.A::~A()called.指出下面程序段中的錯誤,并說明出錯原因classA{ inta,b;public: A(intaa,intbb) { a=aa;b=bb; }};Ax(2,3),y(4);指出下面程序段中的錯誤,并說明出錯原因template<classT>classTany{ Tx,y;public: Tany(Ta,Tb) { x=a,y=b; } Tsum() { returnx+y; }};Tany(int)obj(10,100.0);讀程序?qū)戇\(yùn)行結(jié)果#include"iostream.h"classtest{private:intnum;floatfl;public:test();intgetint(){returnnum;}floatgetfloat(){returnfl;}~test();};test::test(){ cout<<"Initalizingdefault"<<endl; num=0;fl=0.0;}test::~test(){cout<<"Desdtructorisactive"<<endl;}voidmain(){ testarray[2]; cout<<array[1].getint()<<""<<array[1].getfloat()<<endl;}InitalizingdefaultInitalizingdefault00DesdtructorisactiveDesdtructorisactive閱讀下面矩形類CRactangle的定義,在使用該類的main()中的空白處填寫正確的代碼實現(xiàn)要求的輸出結(jié)果。#include<iostream.h>classCRectangle{ doubleledge,sedge;public:CRectangle(){}CRectangle(doublea,doubleb){ledge=a;sedge=b;}doubleArea(){returnledge*sedge;}voidShowPerimeter(){cout<<"Perimeter="<<(ledge+sedge)*2<<endl;}CRectanglePerimeter2(CRectangler2){CRectangletemp;temp.ledge=ledge+r2.ledge;temp.sedge=sedge+r2.sedge;returntemp;}};voidmain(){ CRectangleA(3.5,2.5),B(4.2,3.8);
}
要求執(zhí)行結(jié)果:
A.Perimeter=12B.Perimeter=16(A+B).Perimeter=28
cout<<"A.";A.ShowPerimeter();cout<<"B.";B.ShowPerimeter();cout<<"(A+B).";A.Perimeter2(B).ShowPerimeter(); 面向?qū)ο蟪绦蛟O(shè)計中,類類型與其它數(shù)據(jù)類型之間的轉(zhuǎn)換可以通過構(gòu)造函數(shù)和類類型轉(zhuǎn)換函數(shù)實現(xiàn)。下面的程序的main()中有標(biāo)號的各語句都使用了哪些類型轉(zhuǎn)換?它們都是合法的嗎?注意:如果不合法,只要說明不合法即可;如果合法,用表達(dá)式說明使用了哪些轉(zhuǎn)換和轉(zhuǎn)換過程,例如:①Xx=1;x=X(1)classX{ inti; public: X(int){}; //… };classY{ intj;public: Y(X){}; operatorint(){returnj;};//…};voidmain(){ Xx=1; //① Yy=x; //② inti=2; intret=i+10; ret=y+10; //③ ret=y+10*y; //④ ret=x+y+i; //⑤ ret=x*x+i; //⑥}①x=X(1);②Yy=Y(x);③ret=int(y)+10④ret=int(y)+10*int(y)⑤不合法⑥不合法閱讀以下程序#include<iostream.h>classA{ inti1;protected: intj1public: A(){i1=10;j1=11} voidf1();};classB:privateA{ inti2;protected: intj2public: B(){i1=20;j1=21} voidf2();};classC:privateB{ inti3;protected: intj3public: C(){i1=30;j1=31} voidf3();};
回答下列問題:⑴派生類B中成員函數(shù)f2()能否訪問基類A中的成員:f1(),i1和j1嗎?⑵派生類B的對象b能否訪問基類A中的成員:f1(),i1和j1嗎?⑶派生類C中成員函數(shù)f3()能否訪問直接基類B中的成員:f2(),j2和i2嗎?能否訪問間接基類A中的成員:f1(),j1和i1嗎?⑷派生類C的對象c能否訪問直接基類B中的成員:f2(),j2和i2嗎?能否訪問間接基類A中的成員:f1(),j1和i1嗎?⑴可以訪問f1()和j1,而不可訪問i1。⑵不可以訪問f1(),也不可以訪問i1和j1。⑶可以訪問直接基類中的f2()和j2,而不可訪問間接基類中的f1()和j1,也不可訪問i2和i1。⑷不可以訪問直接基類和間接基類的所有成員。
判斷下面程序的main(),是否正確?若有錯誤,在不修改類定義的前提下,如何給予糾正?classBase { //… 、public: virtualvoidshow(); };classDerived:publicBase{ //…public: voidshow();}; main(){ Baseobj1,*ptr1; Derivedobj2,*ptr2; ptr1=&obj1; ptr1->show(); ptr1=&obj2; ptr1->show(); ptr2=&obj2; ptr2->show(); ptr2=&obj1; ptr2->show(); return0; }⑴的main()中下面兩行:ptr2=&obj1;ptr2->show();錯誤,糾正方法是將這兩行刪除。
判斷下面程序的main(),是否正確?若有錯誤,在不修改類定義的前提下,如何給予糾正?classfruit{ //… public: virtualvoidshow()=0; //… }; classapple:publicfruit{ //…public: voidshow(); //…};main(){ fruitfru,*ptr; appleapp; ptr=&app; ptr->show(); ptr=&fru; ptr->show(); return0; }main()中第一行:fruitfru,*ptr; 錯誤,糾正方法是將該語句改為:fruit*ptr;另外第5、6兩行:ptr=&fru;ptr->show();錯誤,糾正方法是將這兩行刪除。在類Point和類Rect中定義了帶有缺省參數(shù)的構(gòu)造函數(shù),其原型說明如下,請指出其中哪些構(gòu)造函數(shù)的原型說明是錯誤的。Point(intx=0,inty=0);Point(intx=0,inty);Point(intx,inty=0);Rect(intleft,inttop=0,intright,intbottom=0);Rect(intleft=0,inttop=0,intright,intbottom);Rect(intleft,inttop,intright=0,intbottom=0);⑴指出語句①的錯誤,寫出正確的語句;⑵在標(biāo)號②處填寫應(yīng)添加的語句;⑶寫出程序的運(yùn)行結(jié)果。#include<iostream.h>#include<string.h>classString{staticinttotal_length;intlength;char*contents;public:String(char*s){ length=strlen(s); contents=newchar[length+1]; strcpy(contents,s); total_length+=length; }staticvoidshow(String&str){ cout<<"Thelengthofstring:"<<length<<endl;①cout<<"Thetotallengthofstrings:"<<total_length<<endl; }~String() { total_length-=length; delete[]contents; }};②main(){Stringstr1("TheFirstStringObject");String::show(str1);{ Stringstr2("TheSecondStringObject"); String::show(str2);}String::show(str1);return0;}①
cout<<"Thelengthofstring:"<<str.length<<endl;⑵
②intString::total_length=0;⑶
程序運(yùn)行結(jié)果:Thelengthofstring:23Thetotallengthofstrings:23Thelengthofstring:24Thetotallengthofstrings:47Thelengthofstring:23The
totallengthof
strings:47定義一個point類,其中包括兩個整型的私有數(shù)據(jù)成員x,y;再定義一個line類,其中包含兩個point類的保護(hù)對象成員p1,p2,表示直線的兩個端點(diǎn),line類具有定義直線(line)、畫線(draw)、清除線(erase)和移動線(move)的能力,其中move功能應(yīng)能直接修改直線的兩個端點(diǎn)。下面寫出了這兩個類的定義和它們的構(gòu)造函數(shù)的定義。請在定義的空白處,填寫正確的代碼。
_________classline{protected: pointp1,p2;public: line(intx1,inty1,intx2,inty2); line(pointP1,pointP2); voiddraw(); voiderase(); voidmove(intdx,intdy); voidmove(pointdp);};classpoint;friendvoidline::move(intdx,intdy);friendvoidline::move(pointdp);
p1(x1,y1),p2(x2,y2)
p1(P1),p2(P2)classpoint{ intx,y;public:point(intX,intY){x=X;y=Y;______________________________________};line::line(intx1,inty1,intx2,inty2):
______________
{}line::line(pointP1,pointP2):
_____________
{}在下面的程序中帶標(biāo)號的空白處填寫正確的標(biāo)識符或表達(dá)式,以便滿足main()中的調(diào)用需要。#include<iostream.h>classComplex{private:doublereal,imag;public:Complex(doubler=0,doublei=0);Complexoperator+(constComplex&c)①;
②Complexoperator-(constComplex&c1,
③);Complexoperator-()const;voidprint()const;};Complex::Complex(doubler,doublei){ real=r;imag=
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買房車購車合同范例
- 代發(fā)快遞服務(wù)合同范本
- 2025年度環(huán)保技術(shù)研發(fā)與應(yīng)用合作合同
- 2025年度國際物流信息平臺進(jìn)口與實施合同
- 兄弟合伙生意合同范本
- 城市中等裝修房屋出租合同范本
- 入股代理合同范本
- 關(guān)于砂石購買標(biāo)準(zhǔn)合同范本
- 出版社教材出版合同范本
- 2025年食品級甘氨酸鈉項目投資可行性研究分析報告
- 政府資金項目(榮譽(yù))申報獎勵辦法
- JJF 1069-2012 法定計量檢定機(jī)構(gòu)考核規(guī)范(培訓(xùn)講稿)
- 最新如何進(jìn)行隔代教育專業(yè)知識講座課件
- 當(dāng)前警察職務(wù)犯罪的特征、原因及防范,司法制度論文
- 計算機(jī)文化基礎(chǔ)單元設(shè)計-windows
- 創(chuàng)建動物保護(hù)家園-完整精講版課件
- 廣東省保安服務(wù)監(jiān)管信息系統(tǒng)用戶手冊(操作手冊)
- DNA 親子鑒定手冊 模板
- DB33T 1233-2021 基坑工程地下連續(xù)墻技術(shù)規(guī)程
- 天津 建設(shè)工程委托監(jiān)理合同(示范文本)
- 部編一年級語文下冊教材分析
評論
0/150
提交評論