




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、封 密 . :業(yè)專級年 :別系 二二二二二二二二一.二號學 :名姓題序一二三四五六總分得分評卷人開課單位:計算機學院,考試形式:閉卷,允許帶 入場題號12345678910答案題號1112131415答案.單項選擇題(15小題,每小題2分,共30分,請將正確答案填寫在以下對應的答題表格中)1、在類定義的外部,可以被訪問的成員有()東莞理工學院(本科)試卷(A卷)2012 -2013學年第二學期面向?qū)ο蟪绦蛟O計試卷A、所有類成員B、private的類成員C、public 或private 的類成員 口 public 的類成員2、下列關于C+語言類的描述中錯誤的是()。A、類用于描述事物的屬性和對
2、事物的操作B、類與類之間通過封裝而具有明確的獨立性C、類與類之間必須是平等的關系,而不能組成層次結(jié)構(gòu)D類與類之間可以通過一些方法進行通信和聯(lián)絡3、下列數(shù)組定義中,不正確的是()。A、 int x13; B、int x22=1,2,3;C、 int x2=1,2,3,4 ;D、 int x2=1,2,3,4 4、定義析構(gòu)函數(shù)時,應該注意:()A、其名與類名完全相同B 、返回類型是void類型C、無形參,也不可重載D 、函數(shù)體中必須有delete語句5、下列函數(shù)中,正確的遞歸函數(shù)是() 。A 、 int Fun(int n) if(n<1) return 1; else return n*F
3、un(n+1); B 、 int Fun(int n) if (abs(n)<1) return 1; else return n*Fun(n/2); C 、 int Fun(int n) if(n>1) return 1; else return n*Fun(n*2); D、int Fun(int n) if(n>1) return 1; else return n*Fun(n-1); 6、在在C+4編譯器所生成的文件的擴展名為() 答案修改過A、.cppB、.objC 、 .lib D.exe7、派生類的對象對它的基類成員中的(派生類的對象對它的基類成員中的()是可以訪問
4、A、公有繼承的公有成員日 公有繼承的私有成員C、公有繼承的保護成員D私有繼承的公有成員8. C+ 設置虛基類的目的是()A、B 、簡化程序C 、提高運行效率D 、減少目標代碼9.this 指針的敘述中正確的是:A、this 指針;this指針;C、this 指針;D、類的非靜態(tài)成員函數(shù)才有this 指針;10 實現(xiàn)運行時的多態(tài)性采用()A、重載函數(shù) B 、構(gòu)造函數(shù) C 、析構(gòu)函數(shù)D、虛函數(shù)11、 若有 int a10=0,1,2,3,4,5,6,7,8,9,*p=&a5則() 不是對 a 數(shù)組元素的正確引用(其中0Wi<10)A、piB 、 *(*(p+i) )C 、 ap-a
5、D* (&ai)12、 int Func(int , int);不可與下列哪個函數(shù)構(gòu)成重載(A、 int Func(int , int ,int) ;B、 double Func(intint) ;C、 double Func(double , double) ; D 、 double Func(intdouble)13、 局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時,可以用 ()提供對全局變量的訪問。A 、域運算符B 、指針C 、重載D 、引用14 下列描述中,正確的是:A 、所有的運算符號都可以重載。B、基類類型的指針可以指向子類,子類類型的指針也可以指向基類。
6、public 繼承前一個說法才成立】C、可以在類體內(nèi)對靜態(tài)數(shù)據(jù)成員進行初始化?!颈仨氼愅獬跏蓟緿、動態(tài)聯(lián)編要滿足兩個條件:被調(diào)用的成員函數(shù)是虛函數(shù);用指針或引用調(diào)用虛函數(shù)。15、下面類的定義,有()處錯誤。class MyClassprivate: int i=0; 2public: void MyClass(); 3MyClass(int Value); 4 1A、1 B 、2 C 、3 D 4二.填空題(每題2分,共20分)1、static 加在局部變量定義前,改變局部變量的生存期但不改變它作用域 的。2 .類的私有成員只能被它的成員函數(shù)和友元 函數(shù)訪問。3 . 一個抽象類的派生類可以實
7、例化的必要條件是實現(xiàn)了所有的純虛函數(shù)。4、假定AB為一個類,有類 AB的兩個對象a1,a2;則執(zhí)行語句 AB *a10=&a1,&a2;時系統(tǒng)自動調(diào)用該類的構(gòu)造函數(shù)的次數(shù)為0 。5、通過C+相言中類的繼承和派生機制,可以擴充和完善已有類以適應新的需求?!敬鸢感薷倪^】6 .若在類的定義體中給出了一個成員函數(shù)的完整定義,則該函數(shù)屬于內(nèi)聯(lián)函數(shù)。7 .不同對象可以調(diào)用相同名稱的函數(shù),但可導致完全不同的行為的現(xiàn)象稱為多態(tài)。8 .對象的核心概念就是通常所說的繼承 、 封裝和多態(tài)性。9 .在一個類中可以定義1個析構(gòu)函數(shù)。10、若只需要通過一個成員函數(shù)讀取數(shù)據(jù)成員的值,而不需要修改它,則應在函
8、數(shù)頭的后 面加上 const 關鍵字。三.判斷題,對的打T錯的打F。(5小題,每小題2分,共10分)1 .函數(shù)形參的作用域是該函數(shù)的函數(shù)體。2 .純虛函數(shù)必須在抽象類中,所以抽象類中的成員函數(shù)必須是純虛函數(shù)。(x )3 .派生類中至少包含了它的所有基類的成員,在這些成員中可能有的是不可訪問。(,) 答案修改過(X5.構(gòu)造函數(shù)和析構(gòu)函數(shù)都可以定義為虛函數(shù)。(X)。四.程序填空(每題6分,共18分)根據(jù)程序的功能描述,將程序下劃線空白處內(nèi)容補充完整(每空白1.閱讀下面是一段關于類的派生的程序,請完成填空。以下程序是定義一個計數(shù)器類counter ,對其重載運算符3分)+”,請?zhí)羁?。class co
9、unterprivate: int n;public ;counter。n=0;counter(int i)n=i;counter operator +(counter &c)面是動態(tài)創(chuàng)建一個8x9x8的三維數(shù)組的一段程序,請按提示完成填空。#include <iostream> using namespace std; int main() float *cp=new float*8;程序1#include <iostream> using namespace std; class base public:static int n;base(int x) n=
10、x;virtual void set(int m) n = m; cout << n <<'' ;int base:n=0;class deriveA:public base public:deriveA(int x):base(x) 4 .可以在類的構(gòu)造函數(shù)中對靜態(tài)數(shù)據(jù)成員進行初始化。void set(int m) n += m; cout << n <<' ':業(yè)專級年 :別系封 號- -二: 傷.學 .線,名- 姓 - 4 .2.;class deriveB:public base public:derive
11、B(int x):base(x) void set(int m) n +=m; cout <<n << ' ' ;int main()deriveA dl(0);deriveB d2(1);base *pbase;pbase = &dl;pbase->set(1);pbase->base:set(0);pbase = &d2;pbase->set(1);pbase->base:set(3);cout<<endl;return 0;輸出結(jié)果:2 0 1 3程序2#include <iostream&
12、gt; using namespace std;class Base1 public:int i;Base1(int x) i=x;cout << "Constructing Base1 " << i << endl; ;class Base2: public Base1public:Base2(int j): Base1(j) cout << "Constructing Base2 " << j << endl; ;class Base3 public:Base3() cout &
13、lt;< "Constructing Base3 *" << endl; ;class Derived: public Base2, public Base3 public:int h;Derived(int a, int b, int c, int d): member2(d), member1(c), Base2(b)h=a; private:Basel memberl;Base2 member2; Base3 member3; ; int main() Derived obj(1,2, 3, 4); return 0;輸出結(jié)果:Constructin
14、g Base1 2 Constructing Base2 2 Constructing Base3 * Constructing Basel 3 Constructing Basel 4 Constructing Base2 4 Constructing Base3 * 六、程序設計(12分) 定義一個抽象類 Stereo ,函數(shù)Volume為純虛函數(shù),用來計算體積。由抽象類分別派生出 立方體Cube類、球體Sphere類、圓柱體 Cylinder類,并求其體積(其中球體的體積公式 為V=4/3*PI*R*R*R)。各立體形狀的相關數(shù)據(jù)成員(其中: r代表半徑,l代表長度,w代 表寬度,h代表
15、高度)屬性都為 private ,并且通過各類的構(gòu)造函數(shù)設置。total是一個通用的,用以求不同立體形狀的體積總和的全局函數(shù)。 1)定義和實現(xiàn)各個類,給出相關的成員數(shù)據(jù)、構(gòu)造函數(shù)和必要的成員函數(shù)即可。(4分,每個類1分) 2)定義和實現(xiàn)total函數(shù),注意該函數(shù)為全局函數(shù)不是某各類的成員函數(shù)。(4分)3)編寫main函數(shù)進行測試,功能要求如下:a、用基類指針數(shù)組,使它的每一個元素指向一個派生類的對象,并且所有形狀立方體對象都進行內(nèi)存動態(tài)分配和回收(即用new和delete操作符);b、主函數(shù)內(nèi)調(diào)用total輸出所有形狀立方體的體積之和。(4分)注:主函數(shù)中用到的構(gòu)造函數(shù)和total函數(shù)如下Cu
16、be,; /實參為立方體的長、寬、高。Sphere; /實參為球體的半徑。Cylinder,; /實參為圓柱體的底面半徑、高。total(s,3);/實參s為基類指針數(shù)組,3為數(shù)組的大小。#include<iostream>using namespace std;class Stereopublic:virtual float Volume(void)=0;class Cube:public Stereopublic:Cube( float l=1,float w=1,float h=1 ):l(l),w(w),h(h)float Volume(void)return l*w*h;private:float l,w,h;class Sphere:public Stereopublic:Sphere( float r=1 ):r(r)float Volume(void)return 4/3*r*r*r;private:float r;class Cylinder:public Stereopublic:Cylinder( float r=1, float h=1 ):r(r),h(h)float Volume(void)return *r*r*h;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中央廚房合作合同范本
- Module7 Unit2 教學設計2024-2025學年外研版英語九年級上冊
- 包裝制品訂購合同范本
- 動力柜安裝合同范本
- 3人購車合同范例
- 公寓前臺轉(zhuǎn)租合同范本
- 冷鏈運輸合同范本簡易
- 加工裝飾合同范本
- 出資贈與協(xié)議合同范例范例
- 第1課 兩彈元勛國脊梁 許身國威壯河山-《鄧稼先》教學設計七年級語文下冊同步高效課堂(統(tǒng)編版2024)
- 口服降糖藥物分類詳解
- 2024年濰坊工程職業(yè)學院單招職業(yè)適應性測試題庫完美版
- GB/T 44679-2024叉車禁用與報廢技術規(guī)范
- 六年級下冊綜合實踐活動教案-跟著節(jié)氣去探究 全國通用
- 49式武當太極劍動作方位
- 工程成本分析報告(新)
- 國際學術會議海報模板16-academic conference poster model
- 經(jīng)典誦讀比賽評分標準【精選文檔】
- 高值耗材參考目錄
- 步兵戰(zhàn)斗動作
- 六年級下冊音樂-第一單元《敲起我的小木鼓》|蘇少版ppt課件
評論
0/150
提交評論