版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、填空題.派生類(lèi)的主要用途是可以定義其基類(lèi)中_ 數(shù)據(jù)成員_。1. 當(dāng)建立_,程序自動(dòng)調(diào)用該類(lèi)的構(gòu)造函數(shù)。2. 定義重載函數(shù)時(shí),應(yīng)在_參數(shù)類(lèi)型或參數(shù)個(gè)數(shù)_上有所不同。3. 類(lèi)是用戶定義的類(lèi)型,具有類(lèi)類(lèi)型的變量稱(chēng)作_對(duì)象_。4. 當(dāng)一個(gè)成員函數(shù)被調(diào)用時(shí),該成員函數(shù)的_this指針_指向調(diào)用它的對(duì)象。5. 拷貝函數(shù)通過(guò)_使用引用來(lái)初始化創(chuàng)建中的對(duì)象。6. 在C+中有二種_方式即值傳遞和_傳址_傳遞。7. 函數(shù)的_多態(tài)性_性通過(guò)虛函數(shù)來(lái)實(shí)現(xiàn)的。8. 使用空的虛函數(shù)可以保證_建立起一條存取路徑,使派生類(lèi)通過(guò)虛函數(shù)機(jī)制正確存取虛函數(shù)。二、判斷題1. 說(shuō)明函數(shù)類(lèi)型時(shí)不需要指明每個(gè)函數(shù)參數(shù)的名字,只需要說(shuō)明
2、每個(gè)參數(shù)的類(lèi)型和函數(shù)返回值類(lèi)型就可以了。.( T )2. 基類(lèi)中被說(shuō)明為protected 和private的成員只能被其派生類(lèi)的成員函數(shù)訪問(wèn),不能被其它的函數(shù)訪問(wèn)。.( F )3. 當(dāng)將一個(gè)S定義為另一個(gè)類(lèi)A的友元類(lèi)時(shí),類(lèi)S的所有成員函數(shù)都可以直接訪問(wèn)類(lèi)A的所有成員。( )4. 如果派生類(lèi)的成員函數(shù)的原型與基類(lèi)中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個(gè)函數(shù)自動(dòng)繼承基類(lèi)中虛函數(shù)的特性。( )5. 如果使用基類(lèi)指針或引用指向派生類(lèi)對(duì)象并使用該指針調(diào)用虛函數(shù),則程序動(dòng)態(tài)地(運(yùn)行時(shí))選擇該派生類(lèi)的虛函數(shù),這種聯(lián)編方法稱(chēng)為動(dòng)態(tài)聯(lián)編。.( )三、選擇題1. 程序中有錯(cuò)誤的地方已用“(1)”到“(5)
3、”指出,在下面給出的到五條出錯(cuò)原因中,正確地填上對(duì)應(yīng)號(hào)。 指針指向?qū)ο髸r(shí),不能直接用對(duì)象名,要加地址符“&”。對(duì)應(yīng)號(hào)為“(_)” 不允許派生類(lèi)的指針指向基類(lèi)對(duì)象。對(duì)應(yīng)號(hào)為“(_)” 基類(lèi)指針不允許指向私有派生類(lèi)的對(duì)象。對(duì)應(yīng)號(hào)為“(_)” 調(diào)用指針的對(duì)象的成員函數(shù)時(shí),寫(xiě)法出錯(cuò)。對(duì)應(yīng)號(hào)為“(_)” 基類(lèi)指針允許指向派生類(lèi)的對(duì)象,但不能訪問(wèn)派生類(lèi)新成員。對(duì)應(yīng)號(hào)為“(_)” #include<iostream.h>class base public: virtual void show( ) ;class derive1: public base public: void show
4、( ) void print( ) ;class derive2: private base public: void show( ) ;void main( )base obj1, obj2, *prt1;derive1 obj3, obj4, *prt2;derive2 obj5;prt1=obj1;(1)prt1show( );prt1=&obj3;prt1.show( );(2)prt1print( );(3)prt1=&obj5;(4)prt2=&obj4;prt2show( );prt2=&obj2;(5)prt2show( );2. 程序中有錯(cuò)誤的
5、地方已用“(1)”到“(5)”指出,在下面給出的到五條出錯(cuò)原因中,正確地填上對(duì)應(yīng)號(hào)。 私有繼承后該函數(shù)是派生類(lèi)的私有成員,外部函數(shù)不能訪問(wèn)。對(duì)應(yīng)號(hào)為“(_)” 不論公有派生或私有派生,派生類(lèi)都不能用基類(lèi)私有成員。對(duì)應(yīng)號(hào)為“(_)” 因?yàn)樵擃?lèi)有構(gòu)造函數(shù),定義對(duì)象時(shí)不能缺省參數(shù)。對(duì)應(yīng)號(hào)為“(_)” 派生類(lèi)新增加的私有成員,外部函數(shù)不能直接訪問(wèn)。對(duì)應(yīng)號(hào)為“(_)” 私有成員,外部函數(shù)不能直接訪問(wèn)。對(duì)應(yīng)號(hào)為“(_)”#include<iostream.h>class x int a,b;public:x(int a1=0, int b1=0) a=a1; b=b1;int get1( )
6、return a+b;class y:private x int c; public: y(int a1, int b1, int c1): x(a1,b1) c=c1; int get2( ) return a+b+c;(1) int get3( ) return c;void main( )x x1; y y1;(2)y y2(3,4,5);cout << x1.a << “n”;(3)cout << y2.c <<“n”;(4)x1.get1( );y1.get1( );(5)y1.get3( );1. 按面向?qū)ο蟮恼f(shuō)法,為一個(gè)類(lèi)而定義的所
7、有操作稱(chēng)之為( )A函數(shù) B過(guò)程C方法 D屬性2. 在C+程序中,如果一個(gè)對(duì)象要引用自身,應(yīng)該( )A通過(guò)另一個(gè)對(duì)象 B不允許 C用this指針 D用類(lèi)名3. C+中,虛擬函數(shù)主要用于支持( )的實(shí)現(xiàn)。A多態(tài)性 B繼承 C多繼承 D封裝4. 在 C+ 程序中,對(duì)象之間的相互通信通過(guò) A. 繼承實(shí)現(xiàn) B. 調(diào)用成員函數(shù)實(shí)現(xiàn) C. 封裝實(shí)現(xiàn) D. 函數(shù)重載實(shí)現(xiàn) 5. 構(gòu)造函數(shù)不具備的特征的是 A. 構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同 B. 構(gòu)造函數(shù)可以重載 C. 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) D. 構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明 6. 通常,拷貝構(gòu)造函數(shù)的參數(shù)是 A. 某個(gè)對(duì)象名 B. 某個(gè)對(duì)象的成員名 C. 某個(gè)
8、對(duì)象的引用名 D. 某個(gè)對(duì)象的指針名 7. 繼承機(jī)制的作用是 A. 信息隱藏 B. 數(shù)據(jù)封裝 C. 定義新類(lèi) D. 數(shù)據(jù)抽象 8. 類(lèi)的析構(gòu)函數(shù)的作用是 A. 一般成員函數(shù) B. 類(lèi)的初始化 C. 對(duì)象的初始化 D. 刪除對(duì)象創(chuàng)建的所有對(duì)象 9. 下列不是描述類(lèi)的成員函數(shù)的是 A. 構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 友元函數(shù) D. 拷貝構(gòu)造函數(shù)10. 在 C+ 中,函數(shù)原型不能標(biāo)識(shí) A. 函數(shù)的返回類(lèi)型 B. 函數(shù)參數(shù)的個(gè)數(shù) C. 函數(shù)參數(shù)類(lèi)型 D. 函數(shù)的功能 11. 下面說(shuō)法正確的是 ( ) A. 內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方 B. 內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)
9、的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方 C. 類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體內(nèi)定義 D. 類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字 inline 定義12. 類(lèi)的析構(gòu)函數(shù)是在 調(diào)用的。 A. 類(lèi)創(chuàng)建時(shí) B. 創(chuàng)建對(duì)象時(shí) C. 刪除對(duì)象時(shí) D. 不自動(dòng)調(diào)用13. 已知類(lèi) X是類(lèi) Y 的友元,類(lèi) Y 是類(lèi) Z 的友元,則 A. 類(lèi)X一定是類(lèi)Z的友元 B. 類(lèi)Z一定是類(lèi)Z的友元 C. 類(lèi)Z的成員函數(shù)可以訪問(wèn)類(lèi)Y的對(duì)象的任何成員D. 類(lèi)X的成員函數(shù)可以訪問(wèn)類(lèi)Y的對(duì)象的任何成員14. 靜態(tài)成員函數(shù)沒(méi)有 A. 返回值 B. this 指針C. 指針參數(shù) D. 返回類(lèi)型15. 在公有派生情況下,有關(guān)派生類(lèi)對(duì)象和基類(lèi)對(duì)象的關(guān)
10、系,不正確的敘述是 ( ) A. 派生類(lèi)的對(duì)象可以賦給基類(lèi)的對(duì)象 B. 派生類(lèi)的對(duì)象可以初始化基類(lèi)的引用 C. 派生類(lèi)的對(duì)象可以直接訪問(wèn)基類(lèi)中的成員 D. 派生類(lèi)的對(duì)象的地址可以賦給指向基類(lèi)的指針 四、問(wèn)答題1. 閱讀下面的程序找一處錯(cuò)line01:class Locationline02: int x,y;line03: int length,height;line04: protected:line05: int SetZero(int zeroX,int XeroY);line06: public:line07: void Location (int initX,int initY);l
11、ine08: int getx();line09: int gety();line10:;答:2. 寫(xiě)出程序運(yùn)行的結(jié)果#include <iostream.h>#include <srting>class srtc1 char *srt; pbulic:strcl(char * st) cout<<”現(xiàn)在進(jìn)入了strc1類(lèi)的構(gòu)造函數(shù)”<<end1;str=new charstrlen (st) + 1;strcpy(str, st); void show1( ) cout <<”name:”<<str;class girl
12、 strc1 name; int age;public:girl(char *st, int n):name(st) cout<<”現(xiàn)在進(jìn)入了girl類(lèi)的構(gòu)造函數(shù)”<<end1;age=n; int show2( ) name.show1( ); cout <<” age:”; return age;class woman:public girl floac wight;public:woman(char *st, int n, float w):girl(sr, n) cout<<”現(xiàn)在進(jìn)入了woman類(lèi)的構(gòu)造函數(shù)”<<end1;w
13、ight=w;void print( ) cout <<show2( )<<” wight:”<<wight<<end1;void main( )woman w1("zhang_fun", 40, 50.5); w1.print;答:3. 寫(xiě)出程序運(yùn)行的結(jié)果#include <iostream.h>class Time char a9; int hours; int minutes; int senconds;public:Time(int s=0, int m=0, int h=0)hours=h;minutes
14、=m;seconds=s;void show( )cout<<"時(shí)間:"<<hours<<":"<<minutes<<":"<<seconds<<endl; friend Time operator + (Time t1, Time t2);Time opreator +(Time t1, Time t2)Time temp;temp.hours = t1.hours + t2.hours;temp.minutes = t1.minutes + t2.
15、minutes;temp.seconds = t1.seconds + t2.seconds;if(temp.seconds > 60)temp.senconds = temp.seconds - 60; temp.minutes+; if(temp.minutes > 60) temp.minutes = temp.minutes - 60;temp.hours+;if(temp.hours >=24) temp.hours = temp.hours - 24;return temp;void main( )Time T, T1(20, 23, 21), T2(10, 25
16、, 15), T3(5, 10, 15);T = T1 + T2;T.show( );T = T1 + T3;T.show( );答:4. 閱讀下面程序,回答題后的問(wèn)題/*#include<iostream.h>class A private: /其他成員 static int object_count;public: A()A:object_count+; A A:object_count-;int GetObjectCount()return A:object_count; virtual void func(int data) cout<<”class A:”&l
17、t;<data<<endl; void func(char *str) cout<<”class A:”<<str<<endl; ;int A:object_count;class B:public A /其他成員 public: void func() cout<<”function in B without parameter!n”; void func(int data) cout<<”class B:”<<data<<endl; void func(char *str) cout<
18、;<”class B:”<<str<<endl; ;int main(int argc,char * argv ) A *pA; B b; pA=&b; pAàfunc(1); pAàfunc(“haha”); return 0; /*問(wèn)題1、在下面寫(xiě)出程序的運(yùn)行結(jié)果:?jiǎn)栴}2、用下面的語(yǔ)句在函數(shù)main()中通過(guò)調(diào)用類(lèi)B中定義的參數(shù)表為空的函數(shù)func():pAàfunc();是否正確?答:(正確/不正確)問(wèn)題3、如果要記錄已經(jīng)創(chuàng)建的A類(lèi)的實(shí)例(對(duì)象)的個(gè)數(shù),我們可以借助于類(lèi)的靜態(tài)成員。修改上面類(lèi)A的定義,使得它包含一個(gè)私有的
19、靜態(tài)成員object_count,記錄屬于該類(lèi)的對(duì)象個(gè)數(shù),然后為類(lèi)A增加必要的成員函數(shù),使得下面的程序:void main() A *pA=new A3;cout<<”There are”<<pAàGetObjectCount()<<”objects”<<endl; delete pA; cout<<”There are”<<pA:GetObjectCount()<<”objects”<<endl;得到的輸出為: there are 3 object there are 0 object在
20、下面寫(xiě)出類(lèi)A的定義(將所有的函數(shù)成員實(shí)現(xiàn)寫(xiě)在類(lèi)定義體中):在下面寫(xiě)出初始化類(lèi)的靜態(tài)成員object_count的語(yǔ)句:5. 下面的程序定義了一個(gè)簡(jiǎn)單的SmallInt類(lèi),用來(lái)表示從-128 到127之間的數(shù)據(jù)成員val存放一個(gè)-128 到127(包含-128 到127這兩個(gè)數(shù))之間的整數(shù),為了方便,類(lèi)SmallInt還重載了一些運(yùn)算符。閱讀類(lèi)SmallInt的定義,回答題目后面的問(wèn)題。class SmallInt public:SmallInt(int i=0);/重載插入和抽取運(yùn)算符friend ostream & operator <<(ostream &os,
21、const SmallInt &si);friend ostream & operator >>(ostream &is,const SmallInt &si);/重載算術(shù)運(yùn)算符SmallInt operator +( const SmallInt &si)return SmallInt(val+si.val);SmallInt operator -( const SmallInt &si)return SmallInt(val-si.val);SmallInt operator *( const SmallInt &si)r
22、eturn SmallInt(val*si.val);SmallInt operator /( const SmallInt &si)return SmallInt(val/si.val);/重載比較運(yùn)算符bool operator = =( const SmallInt &si)return (val= =si.val);private: char val; ;ostream & operator <<(ostream &os,const SmallInt &si) os<<(int)si.val; return os;ostream & operator >>(ostream &is,const SmallInt &si) int tmp; is>> SmallInt (tmp); return is;問(wèn)題1:上面的類(lèi)定義中,重載的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年國(guó)家公務(wù)員錄用考試《申論》真題(地市卷)及答案解析
- 中班 秋天課件
- 2024年1月福建省普通高中學(xué)業(yè)水平合格性考試化學(xué)試題(原卷版)
- 社區(qū)少先隊(duì)課件
- 蘇教版科學(xué)課件
- 西南林業(yè)大學(xué)《材料研究及分析方法實(shí)驗(yàn)》2022-2023學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《新媒體短視頻運(yùn)營(yíng)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《前端開(kāi)發(fā)技術(shù)》2021-2022學(xué)年期末試卷
- 頜下腺結(jié)石課件
- 西京學(xué)院《句法學(xué)概論》2022-2023學(xué)年期末試卷
- 遼寧交投物產(chǎn)有限責(zé)任公司招聘筆試題庫(kù)2024
- 合肥包河區(qū)人力資源開(kāi)發(fā)有限公司招聘筆試題庫(kù)2024
- 4.2.2指數(shù)函數(shù)的圖像和性質(zhì)教學(xué)說(shuō)課課件高一上學(xué)期數(shù)學(xué)人教A版
- 肺結(jié)節(jié)診治中國(guó)專(zhuān)家共識(shí)(2024年版)解讀
- GB/T 44464-2024汽車(chē)數(shù)據(jù)通用要求
- 2024-2025一年級(jí)上冊(cè)科學(xué)教科版1.6《校園里的植物》課件
- 統(tǒng)編版(2024新版)七年級(jí)上冊(cè)道德與法治第九課第一框《增強(qiáng)安全意識(shí)》教學(xué)設(shè)計(jì)
- 老舊小區(qū)整體改造施工投標(biāo)方案(技術(shù)標(biāo))
- 新湘教版八年級(jí)上數(shù)學(xué)復(fù)習(xí)計(jì)劃
- GB/T 44200-2024建筑垃圾再生骨料生產(chǎn)成套裝備技術(shù)要求
- 幼兒園小班科學(xué)活動(dòng)《小手摸一摸》課件
評(píng)論
0/150
提交評(píng)論