




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Object - Oriented Programming,2003年10月全國高等教育自學(xué)考試試卷與參考答案,1,一、單項(xiàng)選擇題 ( 共 10 小題,每小題 2 分),1. 下列特性中, C 與 C+ 共有的是 ( ) A. 繼承B. 封裝 C. 多態(tài)性 D. 函數(shù)定義不能嵌套 2. 通常情況下,函數(shù)模板中的類型參數(shù)個數(shù) 不能 是 ( ) A.0 B.2 C.4 D.3 3. 在下列表達(dá)式中,運(yùn)算符“ + ”的意義不相同的一對是 ( ) A.5.0+2.0 和 5.0+2 B.5.0+2.0 和 5+2.0 C.5.0+2.0 和 5+2 D.5+2.0 和 5.0+2 4. 類的指針成員初
2、始化是通過函數(shù)完成,這個函數(shù)通常是 ( ) A. 析構(gòu)函數(shù) B. 構(gòu)造函數(shù) C. 其它成員函數(shù) D. 友元函數(shù),D,C,B,A,2,5. 要禁止修改指針 p 本身,又要禁止修改 p 所指向的數(shù)據(jù),這樣的指針應(yīng)定義為 ( ) A.const char *p= “ ABCD ”; B.char const *p= “ ABCD ”; C.char *const p= “ ABCD ”; D.const char * const p= “ ABCD ”; 6. 靜態(tài)成員函數(shù)沒有 ( ) A. 返回值 B.this 指針C. 指針參數(shù)D. 返回類型 7. 當(dāng)一個類的某個函數(shù)被說明為 virtual 時
3、,該函數(shù)在該類的所有派生類中 ( ) A. 都是虛函數(shù) B. 只有被重新說明時才是虛函數(shù) C. 只有被重新說明為 virtual 時才是虛函數(shù) D. 都不是虛函數(shù),D,B,A,3,8. 下面敘述 不正確 的是 ( ) A. 派生類一般都用公有派生 B. 對基類成員的訪問必須是無二義性的 C. 賦值兼容規(guī)則也適用于多重繼承的組合 D. 基類的公有成員在派生類中仍然是公有的 9. 在 C+ 中實(shí)現(xiàn)封裝是借助于 ( ) A. 枚舉 B. 類 C. 數(shù)組 D. 函數(shù) 10. 所有在函數(shù)中定義的變量,都是 ( ) A. 全局變量 B. 局部變量 C. 靜態(tài)變量 D. 寄存器變量,D,A,B,4,二、填空
4、題 (每小題 2 分,共 20 分 ),11. 設(shè)函數(shù) max 是由函數(shù)模板實(shí)現(xiàn)的,并且 max(3.5, 5) 和 max(10,5) 都是正確的函數(shù)調(diào)用,則模板具有 _ 個類型參數(shù)。 12. 在單繼承和多繼承方式中,面向?qū)ο蟮某绦蛟O(shè)計應(yīng)盡量使用 _ 繼承。 13. 語句 ifstream datafile ; datafile.open( “ data.dat ” ) ; 的功能可用一個語句實(shí)現(xiàn),這個語句是 _ 。 14. 將關(guān)鍵字 const 寫在函數(shù)頭之后,函數(shù)體之前,說明該函數(shù)是一個 const 成員函數(shù)。此時 const 不是指定函數(shù)的返回值,而是修飾 _ 指針。,2,單,ifst
5、ream datafile ( “ data.dat ” ),this,5,15. 一個抽象類的派生類可以實(shí)例化的必要條件是實(shí)現(xiàn)了所有的 _ 。 16. 在 C+ 中,虛函數(shù)幫助實(shí)現(xiàn)了類的 _ 性。 17. 通過 C+ 語言中類的 _ ,可以擴(kuò)充和完善已有類以適應(yīng)新的需求。 18. 為了在對象生存期結(jié)束時釋放其指針成員所指向的動態(tài)存儲空間,通常需要為該類定義 _。 19. 在聯(lián)合中,所有數(shù)據(jù)成員具有 _ 的地址,任一時刻只有 _ 個數(shù)據(jù)成員有效。 20. 在已經(jīng)定義了整型指針 ip 后,為了得到一個包括 10 個整數(shù)的數(shù)組并由 ip 所指向,應(yīng)使用語句 _ 。,虛函數(shù),多態(tài),繼承,析構(gòu)函數(shù),相
6、同,1,ip=new int10;,6,21.下面的類定義有一處錯誤,請用下橫線標(biāo)出錯誤所在行并改正錯誤。 class A int a; public: A(int aa):a=aa ;,22.下面的程序有一處錯誤,請用下橫線標(biāo)出錯誤所在行并改正錯誤。 # include class Test public; static int x; ; int x=20;/ 對類成員初始化 void main ( ) coutTest:x; ,三、改錯題 (每小題 2 分,共 10 分 ),A(int aa):a=aa 出錯 改為: A(int aa):a(aa) ,int x=20;出錯 改為: int
7、 Test:x=20;,7,23.下面的程序先把字符串“ Look out! ”輸出到一個文件中,然后再從該文件輸入,并顯示在屏幕上,顯示效果為 Look out! 。程序中有一處錯誤,請用下橫線標(biāo)出錯誤所在行,并給出更改意見。 # include void main() ofstream outf( c:tem.dat,ios:trunc); outfk; coutk; inf.close( ); ,infk;只能讀出Look 改為: inf.getline(k,20);,8,24.下面的程序類 B 的定義中有一處錯誤,請用下橫線標(biāo)出錯誤所在行并說明錯誤原因。 # include # inc
8、lude class A public: A(const char *nm)strcpy(name,nm); private: char name80; ; class B:public A public: B(const char *nm):A(nm) void PrintName( )const; void B:PrintName( ) const cout name: nameendl; void main( ) B b1( wang li ); b1.PrintName( ); ,cout name: nameendl;出錯 原因: 私有成員在子類中不能訪問,9,25.用下橫線標(biāo)出下面
9、程序 main 函數(shù)中的錯誤所在行,并說明錯誤原因。 # include class Location private: int X,Y; public: void init(int initX,int initY); int sumXY( ); ; void Location:init(int initX,int initY) X=initX;Y=initY; int Location:sumXY( ) return X+Y; void main( ) Location A1; int x,y; A1.init(5,3); x=A1.X;y=A1.Y; coutx+y A1.sumXY( )
10、endl; ,x=A1.X; y=A1.Y;出錯 原因: 私有成員不能被main函數(shù)訪問,10,四、完成程序題 ( 每小題 4 分,共 20 分 ),26.在下面橫線處填上適當(dāng)內(nèi)容,使該程序結(jié)果為: 12 和 88 # include template class Tany public: _; void pr( ) if (sizeof(int)= _ ) couty? x:y)y? y:x) dobj=12.0,88.0; dobj.pr( ); Tany iobj=12,88; iobj.pr( ); ,sizeof( T ),T x,y,11,27. 在下面的橫線處填上適當(dāng)內(nèi)容,使程序
11、完整。 # include # include class loc private: float x,y; public: loc(_ ) x=x1; y=y1; float getx( )return x; float gety( )return y; _ float dis(loc ,static,float x1, float y1,12,28. 在下面程序中的橫線處填上適當(dāng)內(nèi)容,使程序完整。 # include class vehicle protected: int speed; public: void setSpeed(int s)speed=s; _ getSpeedLevel
12、( )return speed/10; ; class car:public vehicle public: int getSpeedLevel( ) return speed/5; ; class truck:public vehicle public: int getSpeedLevel( )return speed/15; ; int maxSpeedLevel(vehicle _,vehicle _) if(v1.getSpeedLevel( )v2.getSpeedLevel( ) return 1; elsereturn 2; void main( ) truck t;car c;
13、 t.setSpeed(130);c.setSpeed(60); coutmaxSpeedLevel(t,c)endl; /此結(jié)果輸出為 2,virtual int, A(int i) a=i; void print( ) couta , ; private: int a; ; class B:public A public: B( ) b1=b2=0; B( _ ) b1=i;b2=0; B(int i,int j,int k): _ b1=j;b2=k; /使 a 的值為 i void print( ) A:print( );coutb1 , b2endl; private:int b1,
14、b2; ;,int i,A(i),14,30.根據(jù)注釋在空白處填寫適當(dāng)內(nèi)容。 # include class Location private: int X,Y; public: void init(int initX,int initY) X=initX; Y=initY; int GetX( ) return X ; int GetY( ) return Y ; ; void main( ) Location A1;A1.init(20,90); _ / 定義一個指向 A1 的引用 rA1 _ /用 rA1 在屏幕上輸出對象 A1 的數(shù)據(jù)成員 X 和 Y 的值 ,Location ,cou
15、trA1.GetX(),rA1.GetY()endl;,15,五、程序分析題 (每小題 5 分,共 30 分 ),31. 給出下面程序的輸出結(jié)果。 # include class FunArray int *pa; / 指向一個數(shù)組空間 int size; / 數(shù)組元素個數(shù) public: FunArray(int a,int thesize):pa(a),size(thesize) int Size( ) return size; int ,執(zhí)行結(jié)果: 3,7,9,1,5,4,,16,32.給出下面程序的輸出結(jié)果。 # include template class Tclass T x,y;
16、 public: Tclass(T a,T b):x(a) y=b; Tclass(T a) y=(T)0,x=a; void pr( ) char c; c=(y=(T)0 ? + : - ); cout(T)0? y:-y)a(10.5,-5.8); a.pr( ); Tclassb(10); b.pr( ); ,執(zhí)行結(jié)果: 10.5-5.8i 10+0i,17,給出下面程序的輸出結(jié)果。 # include class Test private: static int val; int a; public: static int func( ) return val+; void sfun
17、c(Test ,執(zhí)行結(jié)果: Result1=200 Result2=201 Result3=125,18,34. 運(yùn)行下面的程序,寫出當(dāng)輸入 25 , 60 時的輸出結(jié)果。 # include class A public: virtual void print( )cout class A. endl; ; class B:public A public: void print( ) ; class C:public B public: void print( )cout class C. endl; ; void show(A ,執(zhí)行結(jié)果: class A. class C.,19,35.
18、 寫出輸出結(jié)果。 # include class A public: A( )a=0; A(int i) a=i; void Print( ) couta , ; int Geta( ) return a; private:int a; ; class B:public A public:B( ) b=0; B(int i,int j,int k):A(i),aa(j) b=k; void Print( ) A:Print( ); coutb , aa.Geta( )endl; private: int b; A aa; ; void main( ) B bb2; bb0=B(1,2,5); bb1=B(3,4,7); for(int i=0;i2;i+)bbi.Print( ); ,執(zhí)行結(jié)果: 1, 5, 2 3, 7, 4,20,36. 運(yùn)行下面的程序,寫出輸出結(jié)果。 # include class Location int X,Y; public: void init(int=0,int=0); void valueX (int val) X=val; int valueX( ) return
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2 周末巧安排 教學(xué)設(shè)計-2024-2025學(xué)年道德與法治二年級上冊統(tǒng)編版
- 經(jīng)營權(quán)轉(zhuǎn)讓合同模板
- 合同樣本商業(yè)地產(chǎn)項(xiàng)目投資合作協(xié)議書
- 個人向公司借款合同簡例
- 1-1《子路、曾皙、冉有、公西華侍坐》教學(xué)設(shè)計-2024-2025學(xué)年高一語文下學(xué)期同步教學(xué)設(shè)計(統(tǒng)編版必修下冊)
- Module 3 Unit 9 Great cities of the world(教學(xué)設(shè)計)-2023-2024學(xué)年滬教牛津版(深圳用)英語六年級上冊
- 25《慢性子裁縫和急性子顧客》(教學(xué)設(shè)計)-2023-2024學(xué)年統(tǒng)編版語文三年級下冊
- 豬舍購銷合同范本
- 沉降檢測合同范本
- 毛毛新車網(wǎng)合同范本
- 《商務(wù)溝通-策略、方法與案例》課件 第八章 求職溝通
- 法律思維及案例培訓(xùn)
- 養(yǎng)老院各職位崗位職責(zé)
- 燕窩采購合同模板
- 小學(xué)五年級下冊外研版英語:Module 5 模塊測試
- 諾如病毒課件教學(xué)課件
- 《城市軌道交通應(yīng)急處理》課件-《城市軌道交通應(yīng)急處理》項(xiàng)目四
- 臨建工程勞務(wù)承包條件
- GB/T 44561-2024石油天然氣工業(yè)常規(guī)陸上接收站液化天然氣裝卸臂的設(shè)計與測試
- 員工履歷表(標(biāo)準(zhǔn)樣本)
- 薪酬管理制度、員工薪資結(jié)構(gòu)規(guī)定、薪酬福利管理制度
評論
0/150
提交評論