




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C++期末考試復(fù)習(xí)題(理工)C++期末考試復(fù)習(xí)題(理工)C++期末考試復(fù)習(xí)題(理工)V:1.0精細(xì)整理,僅供參考C++期末考試復(fù)習(xí)題(理工)日期:20xx年X月一、單項(xiàng)選擇題(本大題共10小題,每小題2分,共20分)1.在C++中,函數(shù)原型不能標(biāo)識(shí)(D)A.函數(shù)的返回類型B.函數(shù)參數(shù)的個(gè)數(shù)C.函數(shù)參數(shù)類型D.函數(shù)的功能2.在C++程序中,對(duì)象之間的相互通信通過(guò)(B)A.繼承實(shí)現(xiàn)B.調(diào)用成員函數(shù)實(shí)現(xiàn)C.封裝實(shí)現(xiàn)D.函數(shù)重載實(shí)現(xiàn)3.對(duì)于任意一個(gè)類,析構(gòu)函數(shù)的個(gè)數(shù)最多為(B)A.0B.1C.2D.35.友元關(guān)系不能(A)A.繼承B.是類與類的關(guān)系C.是一個(gè)類的成員函數(shù)與另一個(gè)類的關(guān)系D.提高程序的運(yùn)行效率6.語(yǔ)句ofstreamf(″SALARY.DAT″,ios::app|ios::binary)?的功能是建立流對(duì)象f,試圖打開(kāi)文件SALARY.DAT并與之連接,并且(A)A.若文件存在,將文件寫(xiě)指針定位于文件尾;若文件不存在,建立一個(gè)新文件B.若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗C.若文件存在,將文件寫(xiě)指針定位于文件首;若文件不存在,建立一個(gè)新文件D.若文件存在,打開(kāi)失??;若文件不存在,建立一個(gè)新文件7.下面說(shuō)法正確的是(B)A.內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方B.內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方C.類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D.類的內(nèi)聯(lián)函數(shù)必須在類體外通過(guò)加關(guān)鍵字inline定義//當(dāng)程序使用內(nèi)斂函數(shù)時(shí),編譯器將每個(gè)函數(shù)調(diào)用都用函數(shù)內(nèi)的語(yǔ)句代替,這樣就省去了函數(shù)調(diào)用地開(kāi)銷8.可以用p.a的形式訪問(wèn)派生類對(duì)象p的基類成員a,其中a是(D)A.私有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.公有繼承的公有成員//函數(shù)可以調(diào)用成員,對(duì)象不可以調(diào)用9.在公有派生情況下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,不正確的敘述是(C)A.派生類的對(duì)象可以賦給基類的對(duì)象B.派生類的對(duì)象可以初始化基類的引用C.派生類的對(duì)象可以直接訪問(wèn)基類中的成員D.派生類的對(duì)象的地址可以賦給指向基類的指針//派生類的對(duì)象是不能訪問(wèn)基類的任何成員10.對(duì)于類定義classA{public:virtualvoidfunc1(){}voidfunc2(){}}?classB:publicA{public:voidfunc1(){cout<<″classBfunc1″<<end1?}virtualvoidfunc2(){cout<<″classBfunc2″<<end1?}}?下面正確的敘述是(C)A.A::func2()和B::func1()都是虛函數(shù)B.A::func2()和B::func1()都不是虛函數(shù)C.B::func1()是虛函數(shù),而A::func2()不是虛函數(shù)D.B::func1()不是虛函數(shù),而A::func2()是虛函數(shù)第二部分非選擇題(共80分)二、填空題(本大題共10小題,每小題2分,共20分)11.定義類的動(dòng)態(tài)對(duì)象數(shù)組時(shí),系統(tǒng)只能夠自動(dòng)調(diào)用該類的_無(wú)參_______構(gòu)造函數(shù)對(duì)其進(jìn)行初始化。12.在C++程序設(shè)計(jì)中,建立繼承關(guān)系倒掛的樹(shù)應(yīng)使用____單_一____繼承。13.表達(dá)式cout<<end1還可表示為_(kāi)___cout<<`\n`_____。14.基類的公有成員在派生類中的訪問(wèn)權(quán)限由___訪問(wèn)控制_____決定。15.C++支持的兩種多態(tài)性分別是__編譯時(shí)的_(操作重載)_靜態(tài)_____多態(tài)性和_運(yùn)行時(shí)的(虛函數(shù))___動(dòng)態(tài)_____多態(tài)性。16.C++中語(yǔ)句constchar*constp=″hello″;所定義的指針p和它所指的內(nèi)容都不能被__改變(重新賦值)____。17.假定AB為一個(gè)類,則語(yǔ)句AB(AB&x);為該類_____拷貝____構(gòu)造函數(shù)的原型說(shuō)明。18.將關(guān)鍵字const寫(xiě)在成員函數(shù)的____函數(shù)頭_____和____函數(shù)體_____之間時(shí),所修飾的是this指針。19.在C++中,訪問(wèn)一個(gè)對(duì)象的成員所用的運(yùn)算符是__·___,訪問(wèn)一個(gè)指針?biāo)赶虻膶?duì)象的成員所用的運(yùn)算符是__>___。20.派生類從一個(gè)或多個(gè)以前定義的該類的__基類__一、單項(xiàng)選擇題(每題2分,共20分)1.派生類對(duì)象可訪問(wèn)基類中的什么成員(
A)A.公有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護(hù)成員
D.私有繼承的公有成員2.定義析構(gòu)函數(shù)時(shí),應(yīng)該注意(
C
)A.其名與類名完全相同
B.返回類型是void類型
C.無(wú)形參,也不可重載
D.函數(shù)體中必須有delete語(yǔ)句3.如果類A被說(shuō)明成類B的友元,則(D
)。
A.類A的成員即類B的成員
B.類B的成員即類A的成員
C.類A的成員函數(shù)不得訪問(wèn)類B的成員
D.類B不一定是類A的友元
4.應(yīng)在下列程序劃線處填入的正確語(yǔ)句是(C)#includeclass
Base{
public:void
fun(){cout<<"Base::fun"<<endl;}};class
Derived:public
Base{
void
fun(){_____________
//顯示調(diào)用基類的函數(shù)fun()cout<<"Derived::fun"<<ENDL;}};A.fun();
B.Base.fun();
C.Base::fun();
D.
Base->fun();5.面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與(
A
)放在一起,做為一個(gè)相互依存、不可分割的整體來(lái)處理。A.對(duì)數(shù)據(jù)的操作 B.信息 C.數(shù)據(jù)隱藏 D.數(shù)據(jù)抽象6.在類中聲明轉(zhuǎn)換函數(shù)時(shí)不能指定(
A
)。
A.參數(shù)
B.訪問(wèn)權(quán)限
C.操作
D.標(biāo)識(shí)符
7.在派生類中重新定義虛函數(shù)時(shí)必須在(
A
)方面與基類保持一致。
A.參數(shù)類型
B.參數(shù)名字
C.操作內(nèi)容
D.賦值8.下面關(guān)于C++中類的繼承與派生的說(shuō)法錯(cuò)誤的是(C)。A.基類的protected成員在公有派生類的成員函數(shù)中可以直接使用B.基類的protected成員在私有派生類的成員函數(shù)中可以直接使用C.公有派生時(shí),基類的所有成員訪問(wèn)權(quán)限在派生類中保持不變D.基類的protected成員在保護(hù)派生類的成員函數(shù)中可以直接使用9.重載賦值操作符時(shí),應(yīng)聲明為(
C
)函數(shù)。
A.友元
B.虛
C.成員
D.多態(tài)10.語(yǔ)句
ofstream
f(″SALARY.DAT″,ios::app|ios::binary);
的功能是建立流對(duì)象
f,試圖打開(kāi)文件
SALARY.DAT
并與之連接,并且
(A
)
A.
若文件存在,將文件寫(xiě)指針定位于文件尾;若文件不存在,建立一個(gè)新文件
B.
若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗
C.
若文件存在,將文件寫(xiě)指針定位于文件首;若文件不存在,建立一個(gè)新文件D.
若文件存在,打開(kāi)失??;若文件不存在,建立一個(gè)新文件
二、填空題(每空2分,共30分)1.假定
AB
為一個(gè)類,則語(yǔ)句
AB(AB&x)
;為該類
_________
復(fù)制構(gòu)造函數(shù)的原型說(shuō)明。2.C++
支持的兩種多態(tài)性分別是
________編譯時(shí)的_
多態(tài)性和
運(yùn)行時(shí)的_________
多態(tài)性。3.定義類的動(dòng)態(tài)對(duì)象數(shù)組時(shí),系統(tǒng)只能夠自動(dòng)調(diào)用該類的
無(wú)參的_________
構(gòu)造函數(shù)對(duì)其進(jìn)行初始化。4.運(yùn)算符重載時(shí),其函數(shù)名由__operator運(yùn)算符_構(gòu)成。成員函數(shù)重載雙目運(yùn)算符時(shí),左操作數(shù)是_當(dāng)前對(duì)象__,右操作數(shù)是__函數(shù)形參_。C++標(biāo)準(zhǔn)庫(kù)中的異常層次的根類為exception_____類;MFC類庫(kù)中絕大多數(shù)類都源自根類__CObject_____類。在下面橫線處填上適當(dāng)字句,完成類中成員函數(shù)的定義。
class
A{
int
*
a;
public:
A(int
aa=0)
{
a=_newint(aa)______;//
用
aa
初始化
a
所指向的動(dòng)態(tài)對(duì)象
}
~
A(){_____deletea____;}//
釋放動(dòng)態(tài)存儲(chǔ)空間
};
7.C++支持面向?qū)ο蟪绦蛟O(shè)計(jì)的四個(gè)要素是:封裝性、繼承性、抽象性和多態(tài)性。8.模板分為類模板和函數(shù)模板。一、單項(xiàng)選擇題(每題2分,共20分)1.在下面選項(xiàng)中,對(duì)類的拷貝構(gòu)造函數(shù)的聲明形式是(B)A.A::A(&)B.A::A(constA&)C.A::A(A)D.voidA::A(A&a)2.下面關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是(A)A.成員函數(shù)不可以設(shè)置參數(shù)的默認(rèn)值B.成員函數(shù)可以重載C.成員函數(shù)可以是內(nèi)聯(lián)函數(shù)D.成員函數(shù)可以是靜態(tài)的3.下面關(guān)于類模板敘述不正確的是(B)A.可以有多個(gè)構(gòu)造函數(shù)B.類模板是模板類的實(shí)例C.一個(gè)類模板可以用來(lái)實(shí)例化多個(gè)模板類D.類模板可以有多個(gè)參數(shù)4.要使一個(gè)類成為抽象類,這個(gè)類應(yīng)具有的條件是(A)A.至少有一個(gè)純虛函數(shù)
B.至少有一個(gè)虛函數(shù)C.只含有一個(gè)純虛函數(shù)
D.
只含有一個(gè)虛函數(shù)5.有關(guān)運(yùn)算符重載正確的描述是(D)A.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的操作個(gè)數(shù)B.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的優(yōu)先級(jí)C.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的結(jié)合性D.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的原來(lái)的功能6.下列說(shuō)法正確的是(D)。A.一個(gè)類的對(duì)象可以是另一個(gè)類的成員B.一個(gè)類可以作為另一個(gè)類的派生類C.一個(gè)類可以在另一個(gè)類定義體進(jìn)行定義D.以上說(shuō)法均正確7.有如下程序:#include<iostream.h>classBASE{charc;public: BASE(charn):c(n){} virtual~BASE(){cout<<c;}};classDERIVED:publicBASE{ charc;public: DERIVED(charn):BASE(n+1),c(n){} ~DERIVED(){cout<<c;}};intmain(){ DERIVED('X'); return0;}執(zhí)行上面的程序?qū)⑤敵觯–)。A)X
B)YX
C)XY
D)Y8.類MyClass的定義如下:classMyClass{public:MyClass(){value=0;}SetValue(inti){value=i;}private:intvalue;};則對(duì)語(yǔ)句:MyClass*p,my;p=&my;正確的描述是(D)。A.語(yǔ)句p=&my;是把對(duì)象my賦值給指針變量p;B.語(yǔ)句MyClass*p,my;會(huì)調(diào)用兩次類MyClass的構(gòu)造函數(shù)C.對(duì)語(yǔ)句*p.SetValue(5)的調(diào)用是正確的D.語(yǔ)句p->SetValue(5)與my.SetValue(5)等價(jià)9.下列各類函數(shù)中,C不是類的成員函數(shù)。A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)10.
派生類的對(duì)象對(duì)它的基類成員中A是可以訪問(wèn)的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.私有繼承的公有成員二、填空題(每空2分,共30分)1.定義內(nèi)聯(lián)函數(shù)所用的關(guān)鍵字inline,定義友元所用的關(guān)鍵字為friend。2.當(dāng)一個(gè)派生類具有多個(gè)基類時(shí),這種繼承方式稱為_(kāi)多重繼承__。3.通過(guò)一個(gè)構(gòu)造函數(shù)調(diào)用虛函數(shù)時(shí),C++系統(tǒng)對(duì)該調(diào)用采用靜態(tài)聯(lián)編。4.任何類中允許有_privated____、public____、_protected____三種訪問(wèn)控制類型的成員,數(shù)據(jù)成員和成員函數(shù)的默認(rèn)類型為_(kāi)_privated___。5.只有在公有繼承的情況下,基類和派生類之間才有賦值兼容性規(guī)則。6.C++標(biāo)準(zhǔn)庫(kù)中的異常層次的根類定義在庫(kù)的頭文件_exception.h______中。7.運(yùn)算符重載使用的兩種方式是_____成員函數(shù)______和友元函數(shù)_______。8.C++支持面向?qū)ο蟪绦蛟O(shè)計(jì)的四個(gè)要素是:抽象性、多態(tài)性________、封裝性________和____繼承性____。一、單項(xiàng)選擇題(每題2分,共20分)1.下面有關(guān)構(gòu)造函數(shù)和new運(yùn)算符關(guān)系正確的說(shuō)法是(D)A.new運(yùn)算符不調(diào)用構(gòu)造函數(shù)B.構(gòu)造函數(shù)一定調(diào)用new運(yùn)算符C.當(dāng)生成新類的實(shí)例時(shí),先調(diào)用new運(yùn)算符,然后調(diào)用構(gòu)造函數(shù)進(jìn)行初始化D.當(dāng)new運(yùn)算符動(dòng)態(tài)產(chǎn)生類的對(duì)象時(shí),new運(yùn)算符也自動(dòng)調(diào)用構(gòu)造函數(shù)2.下面有關(guān)類性質(zhì)的說(shuō)法錯(cuò)誤的是(D)A.一個(gè)類可以有多個(gè)構(gòu)造函數(shù),但只有一個(gè)析構(gòu)函數(shù)B.析構(gòu)函數(shù)和構(gòu)造函數(shù)都不能有返回類型C.不能給析構(gòu)函數(shù)指定參數(shù)D.一個(gè)類中不可以聲明具有類類型的數(shù)據(jù)成員3.下面關(guān)于友元函數(shù)描述正確的是(C)A.友元函數(shù)是類的成員B.友元函數(shù)在類的外部聲明C.友元函數(shù)在類中聲明D.友元函數(shù)能夠派生4.下面敘述正確的是(D)A.派生類不可以使用私用派生B.保護(hù)派生時(shí),基類的保護(hù)成員在派生類中是公有的C.對(duì)基類成員的訪問(wèn)允許二義性D.賦值兼容規(guī)則也適用于多重繼承的組合5.有關(guān)運(yùn)算符重載正確的描述是(D)A.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的操作個(gè)數(shù)B.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的優(yōu)先級(jí)C.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的結(jié)合性D.C++語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的原來(lái)的功能6.下面描述中,表達(dá)錯(cuò)誤的是(B)A.公有繼承時(shí)基類中的public成員在派生類中仍是public的B.公有繼承是基類中的private成員在派生類中仍是private的C.公有繼承時(shí)基類中的protected成員在派生類中仍是protected的D.私有繼承時(shí)基類中的public成員在派生類中是private的7.拷貝構(gòu)造函數(shù)的參數(shù)是(C)A.某個(gè)對(duì)象名B.某個(gè)對(duì)象的成員名C.某個(gè)對(duì)象的引用名D.某個(gè)對(duì)象的指針名8.下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是(D)A.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)B.構(gòu)造函數(shù)在定義類對(duì)象時(shí)自動(dòng)執(zhí)行C.構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)D.構(gòu)造函數(shù)不可以重載9.數(shù)組作為函數(shù)的形參時(shí),把數(shù)組名作為實(shí)參,傳遞給函數(shù)的是(A)A.該數(shù)組的首地址B.該數(shù)組的元素個(gè)數(shù)C.該數(shù)組中的各元素值D.該數(shù)組的大小10.通過(guò)一個(gè)析構(gòu)函數(shù)調(diào)用虛函數(shù)時(shí),C++系統(tǒng)對(duì)該調(diào)用采用(B)。A.動(dòng)態(tài)聯(lián)編B.靜態(tài)聯(lián)編C.不確定是哪種聯(lián)編D.函數(shù)重載二、填空題(每空2分,共30分)1.成員名限定的符號(hào)是::,它可以在引用成員時(shí)避免二義性。2.只有在公有繼承的情況下,基類和派生類之間才有賦值兼容性規(guī)則。3.模板分為類模板和函數(shù)模板。4.在用class定義一個(gè)類時(shí),數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪問(wèn)權(quán)限是private。5.已知intDBL(intn){returnn+n;}和longDBL(longn){returnn+n;}是一個(gè)函數(shù)模板的兩個(gè)實(shí)例,則該函數(shù)模板的定義是template<typenameT>TDBL(Tn){returnn+n}。(要求寫(xiě)出函數(shù)模板的完整定義)6.靜態(tài)數(shù)據(jù)成員必須在類外進(jìn)行初始化。7.含有純虛函數(shù)的類稱為抽象類。8.若Queue是一個(gè)類,aQueue是它的一個(gè)對(duì)象,而且該類中定義了一個(gè)靜態(tài)成員函數(shù)show()則在類外對(duì)該成員的函數(shù)進(jìn)行調(diào)用的方式可以為aQueue.show()和Queue::show()。9.定義內(nèi)聯(lián)函數(shù)所用的關(guān)鍵字為inline,定義友元所用的關(guān)鍵字為friend。10.使用成員函數(shù)重載運(yùn)算符時(shí),若運(yùn)算符是二元的,則參數(shù)表中有1個(gè)操作數(shù),此時(shí)當(dāng)前對(duì)象作為此運(yùn)算符的左操作數(shù)。一、單項(xiàng)選擇題(每題2分,共20分)1.下面有關(guān)重載函數(shù)的說(shuō)法中正確的是(C)A.重載函數(shù)必須具有不同的返回值類型;B.重載函數(shù)形參個(gè)數(shù)必須//先匹配個(gè)數(shù)在匹配類型C.重載函數(shù)必須有不同的形參列表D.重載函數(shù)名可以不同;不同;2.使用string類建立對(duì)象的不正確方式是(D)。A.stringstr(“OK”);B.stringstr=”O(jiān)K”;C.stringstr;D.stringstr=’OK’;3.面關(guān)于C++中類的繼承與派生的說(shuō)法錯(cuò)誤的是(C)A.基類的protected成員在公有派生類的成員函數(shù)中可以直接使用B.基類的protected成員在私有派生類的成員函數(shù)中可以直接使用C.私有派生時(shí),基類的所有成員訪問(wèn)權(quán)限在派生類中保持不變D.繼承可以分為單一繼承與多重繼承4.面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與(A)放在一起,作為一個(gè)相互依存、不可分割的整體來(lái)處理。A.對(duì)數(shù)據(jù)的操作 B.信息 C.數(shù)據(jù)隱藏 D.數(shù)據(jù)抽象5.一個(gè)類的析構(gòu)函數(shù)A。A.唯一的B.允許重載C.至多可有兩個(gè)D.只能是缺省的6.下列各類函數(shù)中,(C)不是類的成員函數(shù)。A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)7.在下面選項(xiàng)中,對(duì)類的拷貝構(gòu)造函數(shù)的聲明形式是(B)A.A::A(&)B.A::A(constA&)C.A::A(A)D.voidA::A(A&a)8.下面關(guān)于靜態(tài)成員描述正確的是(B)A.靜態(tài)成員是對(duì)象的數(shù)據(jù)成員B.靜態(tài)成員是對(duì)象的成員C.靜態(tài)成員是對(duì)象的成員函數(shù)D.靜態(tài)成員不是對(duì)象的成員9.下面關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是(A)A.成員函數(shù)不可以設(shè)置參數(shù)的默認(rèn)值B.成員函數(shù)可以重載C.成員函數(shù)可以是內(nèi)聯(lián)函數(shù)D.成員函數(shù)可以是靜態(tài)的10.下面敘述正確的是(D)A.基類的保護(hù)成員在派生類中仍然是保護(hù)的B.基類的公有成員在派生類中仍然是公有的C.基類的私有成員在派生類中是私有的D.從基類派生時(shí),可以有3種派生方法1.classbase{inta;public:intb;intf(inti,intj);};classderive:base{intc;public:intbase::b;base::f(inti,intj);};[1][2]2.#include<iostream.h>classA{public: voidA(inti=0){m=i;} voidshow(){cout<<m;} void~A(){}private: intm;};voidmain(){ Aa(5); a.m+=10; a.show();}[3][4][5]3.#include<iostream>usingnamespacestd;classbase{inta;staticintb;public:base(intm,intn):a(m),b(n){}staticintgeta(){returna;}staticintgetb(){returnb;}voidshow(){cout<<geta()<<”,”<<getb()<<endl;}};base::intb=45;voidmain(){}[6][7][8][1]intbase::b;[2]base::f(inti,intj);[1]base::b;(或訪問(wèn)聲明僅僅調(diào)整名字的訪問(wèn),不可為它說(shuō)明任何類型)[2]base::f;(或訪問(wèn)聲明不應(yīng)說(shuō)明函數(shù)參數(shù))[3]voidA(inti=0){m=i;}[4]void~A(){}[5]a.m+=10;[3]構(gòu)造函數(shù)去掉void(或構(gòu)造函數(shù)不能指定返回值類型)[4]析構(gòu)函數(shù)去掉void(或析構(gòu)函數(shù)不能指定返回值類型)[5]對(duì)象不能訪問(wèn)私有成員[6]base(intm,intn):a(m),b(n){}[7]staticintgeta(){returna;}[8]base::intb=45;[6]不能通過(guò)構(gòu)造函數(shù)初始化靜態(tài)數(shù)據(jù)成員(只要把b(n)去掉即可)[7]靜態(tài)成員函數(shù)中不能引用非靜態(tài)成員數(shù)據(jù)成員(或去掉static)[8]intbase::b=45;1.Template<classT>Tfun(Tx){Ty;y=T-2*x;retruny;}[1][2]2.classbase{public:f();f(inta);f(char*p);};classderive:base{public:voidf(ints);base::f;};3.#include<iostream.h>classA{public:voidsetA(int);voidshowA();private:inta;};classB{public:voidsetB(int);voidshowB();private:intb;};classC:publicA,privateB{public:voidsetC(int,int,int);voidshowC();private:intc;};voidA::setA(intx){a=x;}voidB::setB(intx){b=x;}voidC::setC(intx,inty,intz){a=x;b=y; setA(x);setB(y);c=z;}[1]Template<classT>[2]y=T-2*x;[1]改為template<classT>[2]T不能用作-的操作數(shù)[3]base::f;[3]派生類中具有與基類同名的函數(shù),則基類中的此函數(shù)不能在派生類中進(jìn)行訪問(wèn)聲明[4]a=x;[5]b=y;[6]obj.setB(6);[7]obj.showB();[8]return0;[4]派生類不能訪問(wèn)基類A類的私有成員[5]派生類不能訪問(wèn)基類B類的私有成員[6]不能訪問(wèn)B類的公有成員setB[7]不能訪問(wèn)B類的公有成員showB[8]去掉此語(yǔ)句,或主函數(shù)的返回值void去掉或改為int填空(每題2分,共20分)C++程序中,對(duì)象的初始化和清理工作,分別由兩個(gè)特殊的成員函數(shù)()和()來(lái)完成。在c++中,分別用(變量)與(函數(shù))來(lái)表現(xiàn)某種事物的所具有的屬性和行為,并且將它們封裝在一起,形成一種抽象數(shù)據(jù)類型——類。當(dāng)用一個(gè)對(duì)象初始化另一個(gè)新的同類對(duì)象,將調(diào)用(),其特殊之處在于:形參是()。模板是C++支持參數(shù)化的工具,我們通常用類模板和函數(shù)模板,這些只是面向?qū)ο蟮模ǎ┬缘囊粋€(gè)方面。如果在某個(gè)類定義中用關(guān)鍵字()聲明了一個(gè)外部函數(shù)(也許是其他類的一個(gè)成員)后,這個(gè)外部函數(shù)就可以例外的訪問(wèn)該類的任何成員,這個(gè)外部函數(shù)稱為類的()函數(shù)??梢詫㈩惖某蓡T聲明為static,使其成為()。這樣的成員在編譯時(shí)被創(chuàng)建,其實(shí)例只有一個(gè),為所有該類的對(duì)象()。()是動(dòng)態(tài)動(dòng)態(tài)聯(lián)編的基礎(chǔ)。它是非靜態(tài)的成員函數(shù),經(jīng)過(guò)()之后,在類族中可以實(shí)現(xiàn)運(yùn)行過(guò)程中的多態(tài)。程序中有如下語(yǔ)句:inta=30;intb=a++;intc=++a;則b=(),c=()數(shù)組A[20][20]中,第一個(gè)元素是(),最后一個(gè)元素是()10、聲明一個(gè)int型指針,請(qǐng)為其動(dòng)態(tài)分配含10個(gè)元素的地址空間:()。程序分析(30分)1、分析程序,寫(xiě)出程序的輸出結(jié)果(7分)。#include<iostream.h>classClock{private:intHour,Minute,Second;public:voidSetTime(intNewH=24,intNewM=24,intNewS=24){Hour=NewH;Minute=NewM;Second=NewS;}voidShowTime(){cout<<Hour<<”:”<<Minute<<”:”<<Second<<endl;}};voidmain(){cout<<”timesetandoutput:”<<endl;ClockMyClock;MyCLock.SetTime();MyClock.ShowTime();MyClock.SetTime(8,30,30);MyClock.ShowTime();}2、分析程序,寫(xiě)出程序的輸出結(jié)果(7分)。#include<iostream.h>classpoint{private:intx,y;public:point(intxx=0,intyy=0){x=xx;y=yy;cout<<”構(gòu)造函數(shù)被調(diào)用”<<endl;}point(point&p);intGetX(){returnx;}intGetY(){returny;}};point::point(point&p){x=p.x;y=p.y;cout<<”拷貝構(gòu)造函數(shù)被調(diào)用”<<endl;}voidmain(){pointA(4,5);pointB(A);cout<<B.GetX()<<endl;}在括號(hào)中注釋相應(yīng)的語(yǔ)句(8分)//有動(dòng)態(tài)棧區(qū)的stack類classstack{intstacksize;long*buffer;long*sp;public:stack(intsize)//(){stacksize=size;sp=buffer=newlong[size];//()}~stack()//(){deletebuffer;}//()};voidpush(long);longpop();};voidstack::push(longdata){if(sp>=buffer+stacksize)cout<<"overflow!\n";else{*sp=data;sp++;}}longstack::pop(){if(sp<=buffer){cout<<"stackisempty!\n";return0;}elsereturn(*--sp);}voidmain(){stack*pa=new
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《創(chuàng)新課程設(shè)計(jì):物理游戲化教學(xué)法教案》
- 八年級(jí)英語(yǔ)語(yǔ)法知識(shí)總結(jié)與提升教學(xué)教案
- 鋼筋綁扎承包合同
- 阿甘正傳節(jié)選與人生哲學(xué)的思考:英語(yǔ)文學(xué)賞析教學(xué)教案
- 網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估及防御合作協(xié)議
- 裝修工程區(qū)域消防安全協(xié)議書(shū)
- 航空航天材料科技知識(shí)重點(diǎn)梳理
- 數(shù)據(jù)空間發(fā)展戰(zhàn)略藍(lán)皮書(shū)內(nèi)容
- 知識(shí)產(chǎn)權(quán)授權(quán)轉(zhuǎn)讓與使用協(xié)議
- 2024-2025學(xué)年高二化學(xué)人教版選擇性必修3教學(xué)課件 第二章 第二節(jié) 烯烴 炔烴
- 保障農(nóng)民工工資支付協(xié)調(diào)機(jī)制和工資預(yù)防機(jī)制
- GB/T 4294-1997氫氧化鋁
- 2023年新改版教科版六年級(jí)下冊(cè)科學(xué)全冊(cè)課件
- 集裝箱碼頭的主要單證及其流轉(zhuǎn)概述課件
- 2022暖通空調(diào)第三版課后題答案
- HUW工法在深基坑圍護(hù)工程中的應(yīng)用
- DB37-T 4383-2021 混凝土結(jié)構(gòu)硅烷浸漬技術(shù)規(guī)程
- 2022年大夢(mèng)杯福建省初中數(shù)學(xué)競(jìng)賽試題參考答案及評(píng)分標(biāo)準(zhǔn)
- 邊坡開(kāi)挖施工要求
- 部編版六年級(jí)下冊(cè)語(yǔ)文教案(全冊(cè))
- 2022年湖北成人學(xué)士學(xué)位英語(yǔ)真題及答案
評(píng)論
0/150
提交評(píng)論