C++試題及答案_2_第1頁
C++試題及答案_2_第2頁
C++試題及答案_2_第3頁
C++試題及答案_2_第4頁
C++試題及答案_2_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1、 單項選擇題(本大題共20小題,每小題1分,共20分)1。 編寫C+程序一般需經(jīng)過的幾個步驟依次是()A. 編輯、調(diào)試、編譯、連接B。 編輯、編譯、連接、運行C. 編譯、調(diào)試、編輯、連接D. 編譯、編輯、連接、運行答案:B2. 決定C+語言中函數(shù)的返回值類型的是()A. return語句中的表達(dá)式類型B。 調(diào)用該函數(shù)時系統(tǒng)隨機(jī)產(chǎn)生的類型C. 調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型D。 在定義該函數(shù)時所指定的數(shù)據(jù)類型答案:D3。 下面敘述不正確的是()A。 派生類一般都用公有派生B. 對基類成員的訪問必須是無二義性的C. 賦值兼容規(guī)則也適用于多重繼承的組合D. 基類的公有成員在派生類中仍然是公有的答案

2、:D4. 所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)操作組裝在一起,形成一個實體,這實體也就是()A。 類B. 對象C。 函數(shù)體D。 數(shù)據(jù)塊答案:A5. 在公有派生類的成員函數(shù)不能直接訪問基類中繼承來的某個成員,則該成員一定是基類中的()A。 私有成員B。 公有成員C。 保護(hù)成員D. 保護(hù)成員或私有成員答案:A6. 對基類和派生類的關(guān)系描述中,錯誤的是()A。 派生類是基類的具體化B. 基類繼承了派生類的屬性C。 派生類是基類定義的延續(xù)D. 派生類是基類的特殊化答案:B7。 關(guān)于this指針使用說法正確的是()A。 保證每個對象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)的代碼B. 保證基類私有成員

3、在子類中可以被訪問。C。 保證基類保護(hù)成員在子類中可以被訪問。D。 保證基類公有成員在子類中可以被訪問。答案:A8。 所謂多態(tài)性是指 ()A. 不同的對象調(diào)用不同名稱的函數(shù)B. 不同的對象調(diào)用相同名稱的函數(shù)C。 一個對象調(diào)用不同名稱的函數(shù)D。 一個對象調(diào)用不同名稱的對象答案:B9. 一個函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,則應(yīng)把它定義為 ()A. 內(nèi)聯(lián)函數(shù)B。 重載函數(shù)C。 遞歸函數(shù)D. 嵌套函數(shù)答案:A10. 下面函數(shù)模板定義中不正確的是()A。 AB. BC. CD. D答案:A11。 假設(shè)ClassY:publicX,即類Y是類X的派生類,則說明一個Y類的對象時和刪除Y類對象時,調(diào)用構(gòu)造

4、函數(shù)和析構(gòu)函數(shù)的次序分別為()A。 X,Y;Y,XB. X,Y;X,YC. Y,X;X,YD。 Y,X;Y,X答案:A12. 適宜采用inline定義函數(shù)情況是()A。 函數(shù)體含有循環(huán)語句B。 函數(shù)體含有遞歸語句C。 函數(shù)代碼少、頻繁調(diào)用D. 函數(shù)代碼多、不常調(diào)用答案:C13. 假定一個類的構(gòu)造函數(shù)為A(int aa,int bb) a=aa-;b=a*bb;,則執(zhí)行A x(4,5);語句后,x。a和x.b的值分別為()A. 3和15B. 5和4C。 4和20D. 20和5答案:C14. 在類中說明的成員可以使用關(guān)鍵字的是()A。 publicB。 externC。 cpuD。 registe

5、r答案:A15. 下列不能作為類的成員的是()A。 自身類對象的指針B. 自身類對象C。 自身類對象的引用D。 另一個類的對象答案:B16. 使用地址作為實參傳給形參,下列說法正確的是()A。 實參是形參的備份B。 實參與形參無聯(lián)系C。 形參是實參的備份D。 實參與形參是同一對象答案:D17。 下列程序的輸出結(jié)果是()include void main()int n3=10,20,30,40,50,60;int (*p)3;p=n;coutp00”,”*(p0+1)”,(*p)2aD. (x)。a()答案:B20. 關(guān)于對象概念的描述中,說法錯誤的是()A. 對象就是C語言中的結(jié)構(gòu)變量B. 對

6、象代表著正在創(chuàng)建的系統(tǒng)中的一個實體C. 對象是類的一個變量D. 對象之間的信息傳遞是通過消息進(jìn)行的答案:A二、填空題(本大題共20小題,每小題1分,共20分)請在每小題的空格中填上正確答案.錯填、不填均無分。1. C+的流庫預(yù)定義了4個流,它們是cin、cout、clog和_.答案:(P193)cerr2。 每個對象都是所屬類的一個_.答案:(P69)實例3. 在已經(jīng)定義了整型指針ip后,為了得到一個包括10個整數(shù)的數(shù)組并由ip所指向,應(yīng)使用語句_。答案:(P78)int *ip=new int10;4. 函數(shù)模板中緊隨template之后尖括號內(nèi)的類型參數(shù)都要冠以保留字_。答案:(P145)

7、class5. 定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調(diào)用該類的_構(gòu)造函數(shù)對其進(jìn)行初始化。答案:(P80)無參6. 表達(dá)式coutend1 還可表示為_.答案:n7。 在C+中,訪問一個指針?biāo)赶虻膶ο蟮某蓡T所用的指向運算符是_。答案:8。 假如一個類的名稱為MyClass,使用這個類的一個對象初始化該類的另一個對象時,可以調(diào)用_構(gòu)造函數(shù)來完成此功能。答案:(P80)復(fù)制或拷貝9。 對賦值運算符進(jìn)行重載時,應(yīng)聲明為_函數(shù)。答案:(P183)類成員10. 如果要把A類成員函數(shù)f()且返回值為void聲明為類B的友元函數(shù),則應(yīng)在類B的定義中加入的語句_。答案:(P109)friend void A

8、::f();11。 下列程序段的輸出結(jié)果是_。for(i=0,j=10,k=0;i=j;i+,j-=3,k=i+j);coutk;答案:412. String 類的_方法返回查找到的字符串在主串的位置。答案:(P40)find13。 int n=0;while(n=1)n+;while循環(huán)執(zhí)行次數(shù)是_。答案:無限次14。 控制格式輸入輸出的操作中,函數(shù)_是用來設(shè)置填充字符。要求給出函數(shù)名和參數(shù)類型答案:(P195)setfill(char)15。 C+語言支持的兩種多態(tài)性分別是編譯時的多態(tài)性和_的多態(tài)性。答案:(P167)運行時16。 設(shè)函數(shù)sum是由函數(shù)模板實現(xiàn)的,并且sum(3,6)和su

9、m(4。6,8)都是正確的函數(shù)調(diào)用,則函數(shù)模板具有_個類型參數(shù)。答案:(P61)217。 執(zhí)行下列代碼string str(”HelloC+);coutstr.substr(5,3);程序的輸出結(jié)果是_.答案:(P42)C+18. 在面向?qū)ο蟮某绦蛟O(shè)計中,將一組對象的共同特性抽象出來形成_。答案:(P38)類19. 定義類動態(tài)對象數(shù)組時,元素只能靠自動調(diào)用該類的_來進(jìn)行初始化。答案:(P77)無參構(gòu)造函數(shù)20. 已知有20個元素int類型向量V1,若用V1初始化為V2向量,語句是_。答案:(P151)ector intV2(V1);3、 改錯題(本大題共5小題,每小題2分,共10分)1。 #i

10、nclude class Testprivate:int x,y=20;public:Test(int i,int j)x=i,y=j;int getx()return x;int gety()return y;void main()Test mt(10,20);coutmt.getx()endl;coutmt。gety()endl;答案:int x,y=20;在類內(nèi)部不能對數(shù)據(jù)成員直接賦值。修改int x,y;2. include iostream.hclass Testint x,y;public:fun(int i,int j)x=i;y=j;show()cout”x=x;if(y)co

11、ut”,y=”yendl;coutendl;void main()Test a;a。fun(1);a。show();a。fun(2,4);a.show();答案:int i,int j調(diào)用時,既有一個參數(shù),也有兩個參數(shù),且沒有重載,所以參數(shù)需要帶默認(rèn)值。所以int i,int j錯誤。修改int i,int j0/注j只要有一個int類型的數(shù)據(jù)就行。3。 #include class Aint i;public:virtual void fun()=0;A(int a)i=a;class B:public Aint j;public:void fun()coutB::fun()n”; B(in

12、t m,int n=0):A(m),j(n);void main()A *pa;B b(7);pa=&b;答案:B(int m,int n=0):A(m),j(n)因為基類是抽象類,不能被實例化,所以在派生類中不能調(diào)用初始化基類對象。所以B(int m,int n=0):A(m),j(n)錯誤,刪去A(m)。修改B(int m,int n=0):j(n)4。 include iostream.hclass Xpublic:int x;public:X(int x)coutx=xendl;X(X&t)x=t.x;coutt.xendl;void fun(X);void fun(X t)coutt

13、。xendl;void main()fun(X(10);答案:coutx=xx=x表達(dá)式的值要加括號。修改cout(thisx=x)endl;5。 include #include string。hclass Baspublic:Bas(char s=0)strcpy(name,s);void show();protected:char name20;Bas b;void show()coutname:”template class Tvoid f (_)_;for (int i=0;in/2;i+)t=ai, ai=an-1i, an1-i=t;void main ()int a5=10,2

14、1,34,4,50;double d6=11.1,10.1,9.1,8.1,7.1;f(a,5);f(d,6);for (int i=0;i5;i+)cout ai ”;cout endl;for (i=0;i6;i+)cout di ;cout class Test public:_;Test (int i=0)x=i+x;int Getnum()return Test:x+7;;_;void main()Test test;couttest。Getnum()endl;;答案:static int x;,int Test:x=30;解析從成員函數(shù)訪問方式類名::成員可知是靜態(tài)成員所以stat

15、ic int x;從結(jié)果要對初始化為30,且在類外進(jìn)行初始化, int Test:x=30;。3。 在下列程序的空格處填上適當(dāng)?shù)淖志?,使輸出為?,2,10.include iostream.hinclude math。hclass Magicdouble x;public:Magic(double d=0.00):x(fabs(d))Magic operator+(_)return Magic(sqrt(x*x+c。x*c.x));_operator(ostream stream,Magic c) streamc。x;return stream;;void main()Magic ma;co

16、utma”, Magic(2), ”ma+Magic(-6)+Magic(-8)_;_;void main()double rad;coutrad=”;cinrad;double l=2。0pirad;double s=pi*rad*rad;cout”n The long is:lendl;coutThe area is:”svoid main()char a;_;cina;if(_)a=a+i;couta=A & a=Z解析大寫字母變小寫字母相差32,需要對i聲明并初始化。大寫字母變小寫字母。要判斷字符是大寫字母。五、程序分析題(本大題共4小題,每小題5分,共20分)1。 給出下面程序輸出結(jié)

17、果。#includeiostream.hclass apublic:virtual void print()cout a prog. endl;;;class b:public a;class c:public bpublic:void print()cout”c prog.。.endl;void show(a p)(*p).print();void main()a a;b b;c c;show(a);show(b);show(c);答案:a prog。a prog。.。c prog。.解析考查多態(tài)性的。a類對象調(diào)用本身的虛函數(shù),b類因為沒有覆寫print,所以仍然調(diào)用基類的虛函數(shù)。而c類重新

18、定義print虛函數(shù),所以調(diào)用c類的print.2. 給出下面程序輸出結(jié)果。include math。h#include iostream。h#include iomanip。hbool fun(long n);void main()long a=10,b=30,l=0;if(a2=0) a+;for(long m=a;m=b;m+=2)if(fun(m)if(l+10=0)cout endl;cout setw(5) m;bool fun(long n)int sqrtm=(int)sqrt(n);for(int i=2;iclass Testint x,y;public:Test(int

19、i,int j=0)x=i;y=j;int get(int i,int j)return i+j;;void main()Test t1(2),t2(4,6);int (Test:*p)(int,int=10);p=Test:get;cout(t1.*p)(5)endl;Test *p1=&t2;coutp)(7,20)endl;答案:15 27解析指向類成員函數(shù)的指針的使用,*p指向Test類中有兩個參數(shù)的函數(shù)的一個指針。PTest:get。這樣p就和get發(fā)生了聯(lián)系.(t1.p)(5)等價于調(diào)用一個參數(shù)的get函數(shù).4. #include iostream.hinclude string。

20、hinclude iomanip。hclass studentchar name8;int deg;char level7;friend class process; / 說明友元類public:student(char na,int d) strcpy(name,na);deg=d;;class process public:void trans(student s)int i=s。deg/10;switch(i)case 9:strcpy(s。level, ”優(yōu));break;case 8:strcpy(s.level,良);break;case 7:strcpy(s。level,”中”)

21、;break;case 6:strcpy(s。level,”及格”);break;default:strcpy(s。level,”不及格”);void show(student &s)coutsetw(10)s。namesetw(4)s.degsetw(8)s。levelendl;void main() student st=student(”張三,78),student(李四,92),student(王五,62),student(”孫六,88);process p;cout結(jié) 果:”姓名setw(6)”成績”setw(8)等級endl;for(int i=0;i4;i+) p.trans(s

22、ti);p。show(sti);答案:結(jié)果:姓名成績等級張三78中李四92優(yōu)王五62及格孫六88良六、程序設(shè)計題(本大題共1小題,共10分)1. 已定義一個Shape抽象類,在此基礎(chǔ)上派生出矩形Rectangle和圓形Circle類,二者都有GetPerim()函數(shù)計算對象的周長,并編寫測試main()函數(shù)。class Shapepublic:Shape()Shape()virtual float GetPerim()=0;答案:class Rectangle:public Shapepublic:Rectangle(float i,float j):L(i),W(j)Rectangle()f

23、loat GetPerim()return 2(L+W);private:float L,W;;class Circle:public Shapepublic:Circle(float r):R(r)float GetPerim()return 3。14*2*R;private:float R;;void main()Shape * sp;sp=new Circle(10);coutGetPerim ()endl;sp=new Rectangle(6,4);coutGetPerim()endl;一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中只有一個是符合題目

24、要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1。 靜態(tài)成員函數(shù)沒有()A。 返回值B. this指針C. 指針參數(shù)D。 返回類型答案:B2。 假定AB為一個類,則執(zhí)行“AB a(2), b3,*p4;”語句時調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()A. 3B. 4C。 5D. 9答案:B3. 有關(guān)多態(tài)性說法不正確的是()A。 C+語言的多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性B. 編譯時的多態(tài)性可通過函數(shù)重載實現(xiàn)C. 運行時的多態(tài)性可通過模板和虛函數(shù)實現(xiàn)D. 實現(xiàn)運行時多態(tài)性的機(jī)制稱為動態(tài)多態(tài)性答案:C4. 假定一個類的構(gòu)造函數(shù)為“A(int i=4, int j=0) a=i;b=j;

25、”, 則執(zhí)行“A x (1);語句后,x。a和x。b的值分別為()A. 1和0B. 1和4C. 4和0D。 4和1答案:A5. 類MyA的拷貝初始化構(gòu)造函數(shù)是 ()A. MyA()B。 MyA(MyA*)C。 MyA(MyA)D。 MyA(MyA)答案:C6. 在C+中,函數(shù)原型不能標(biāo)識()A. 函數(shù)的返回類型B。 函數(shù)參數(shù)的個數(shù)C. 函數(shù)參數(shù)類型D。 函數(shù)的功能答案:D7. 友元關(guān)系不能()A。 提高程序的運行效率B。 是類與類的關(guān)系C。 是一個類的成員函數(shù)與另一個類的關(guān)系D。 繼承答案:D8. 實現(xiàn)兩個相同類型數(shù)加法的函數(shù)模板的聲明是()A。 add(T x,T y)B. T add(x,

26、y)C。 T add(T x,y)D。 T add(T x,T y)答案:D9。 在int a=3,int *p=a;中,*p的值是()A。 變量a的地址值B。 無意義C. 變量p的地址值D。 3答案:D10. 下列不是描述類的成員函數(shù)的是()A。 構(gòu)造函數(shù)B. 析構(gòu)函數(shù)C. 友元函數(shù)D. 拷貝構(gòu)造函數(shù)答案:C11。 如果從原有類定義新類可以實現(xiàn)的是()A。 信息隱藏B。 數(shù)據(jù)封裝C。 繼承機(jī)制D. 數(shù)據(jù)抽象答案:C12。 下面有關(guān)類說法不正確的是()A。 一個類可以有多個構(gòu)造函數(shù)B. 一個類只有一個析構(gòu)函數(shù)C。 析構(gòu)函數(shù)需要指定參數(shù)D。 在一個類中可以說明具有類類型的數(shù)據(jù)成員答案:C13。

27、在函數(shù)定義中的形參屬于()A. 全局變量B. 局部變量C。 靜態(tài)變量D。 寄存器變量答案:B14。 下列有關(guān)重載函數(shù)的說法中正確的是()A。 重載函數(shù)必須具有不同的返回值類型B。 重載函數(shù)參數(shù)個數(shù)必須相同C。 重載函數(shù)必須有不同的形參列表D. 重載函數(shù)名可以不同答案:C15。 this指針存在的目的是()A。 保證基類私有成員在子類中可以被訪問B。 保證基類保護(hù)成員在子類中可以被訪問C。 保證每個對象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)成員的代碼D。 保證基類公有成員在子類中可以被訪問答案:C16。 關(guān)于new運算符的下列描述中,錯誤的是()A。 它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B。 使用它

28、創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運算符delete刪除C。 使用它創(chuàng)建對象時要調(diào)用構(gòu)造函數(shù)D。 使用它創(chuàng)建對象數(shù)組時必須指定初始值答案:D17. 已知:p是一個指向類A數(shù)據(jù)成員m的指針,A1是類A的一個對象.如果要給m賦值為5,正確的是()A。 A1.p=5;B。 A1p=5;C。 A1。*p=5;D。 *A1。p=5;答案:C18。 以下基類中的成員函數(shù)表示純虛函數(shù)的是()A。 virtual void tt()=0B。 void tt(int)=0C. virtual void tt(int)D。 virtual void tt(int)答案:A19。 C+類體系中,不能被派生類繼承的有()A

29、. 常成員函數(shù)B。 構(gòu)造函數(shù)C。 虛函數(shù)D. 靜態(tài)成員函數(shù)答案:B20。 靜態(tài)成員函數(shù)不能說明為()A。 整型函數(shù)B。 浮點函數(shù)C。 虛函數(shù)D. 字符型函數(shù)答案:C二、填空題(本大題共20小題,每小題1分,共20分)請在每小題的空格中填上正確答案.錯填、不填均無分。1. 假設(shè)int a=1,b=2;則表達(dá)式(+a/b)b-的值為_.答案:22。 抽象類中至少要有一個_函數(shù)。答案:(P173)純虛3。 一個抽象類的派生類可以實例化的必要條件是實現(xiàn)了所有的_。答案:(P173)純虛函數(shù)的定義4。 下面程序的輸出結(jié)果為_。include iostream.hvoid main()int num=2,

30、i=6;doi;num+;while(-i);coutnumendl;答案:55. 靜態(tài)成員函數(shù)、友元函數(shù)、構(gòu)造函數(shù)和析構(gòu)函數(shù)中,不屬于成員函數(shù)的是_.答案:(P109)友元函數(shù)6。 在用C進(jìn)行程序設(shè)計時,最好用_代替malloc。答案:(P10)new7。 由const修飾的對象稱為_。答案:(P113)常對象8. 在C+程序設(shè)計中,建立繼承關(guān)系倒掛的樹應(yīng)使用_繼承。答案:(P138)單9。 基類的公有成員在派生類中的訪問權(quán)限由_決定。答案:(P132)訪問控制方式或繼承方式10。 不同對象可以調(diào)用相同名稱的函數(shù),但執(zhí)行完全不同行為的現(xiàn)象稱為_.答案:(P167)多態(tài)性11. this指針始

31、終指向調(diào)用成員函數(shù)的_。答案:對象12. 預(yù)處理命令以_符號開頭。答案:(P183)operater13. 類模板用來表達(dá)具有_的模板類對象集.答案:(P145)相同處理方法14. C+程序的源文件擴(kuò)展名為_。答案:(P21)cpp15。 在include命令中所包含的頭文件,可以是系統(tǒng)定義的頭文件,也可以是_的頭文件。答案:(P7)自定義16. vector類中向向量尾部插入一個對象的方法是_。答案:(P157)push_back17. C+語言中如果調(diào)用函數(shù)時,需要改變實參或者返回多個值,應(yīng)該采取_方式.答案:(P51)傳地址或引用18。 語句序列ifstream infile;infil

32、e.open(“data.dat”);的功能可用一個語句實現(xiàn),這個語句是_.答案:(P199)ifstream infile(“data。dat”);19。 如果要把類B的成員函數(shù)void fun()說明為類A的友元函數(shù),則應(yīng)在類中加入語句_。答案:(P111)friend void B::fun();20. 在編譯指令中,宏定義使用_指令。答案:(P6、97)define3、 改錯題(本大題共5小題,每小題2分,共10分)1. include include using namespace std;class Apublic:A(const char na)strcpy(name,na);p

33、rivate:char name80;class B:public A public:B(const char *nm):A(nm)void show();void B:show() coutname:nameendl;void main() B b1(B);b1。show();答案:private:因為name如果是私有的,在派生類中無法訪問,而基類沒有提供成員函數(shù)來訪問name,所以更改name訪問權(quán)限為公有或保護(hù),這樣對于派生類來說是透明的.修改public:或protected:2。 #include iostream.hvoid f(int *a,int n)int i=0,j=0;

34、int k=0;for(;in/2;i+)k=ai;ai=ani-1;an-i-1=k;void show(int a,int n)for(int i=0;in;i+)coutai” ;coutendl;void main()int p5;int i=0,n=5;for(;i5;i+)pi=i;f(*p,n);show(p,n);答案:修改f(p,n);解析f(p,n);f函數(shù)第一個參數(shù)是指針而調(diào)用時使用*p,p表示p所指向的變量或?qū)ο?,不是地址即不是指?3。 include iostream。hvoid main()int i(3),j(8);int * const p=&i;cout*p

35、endl;p=j;coutpvoid main()int i,*p;i=10;*p=i;coutpclass Aprivate:int x,y;public:void fun(int i,int j)x=i;y=j;void show()coutx” ”yendl;void main()A a1;a1。fun(2);a1。show();答案:void fun(int i,int j)調(diào)用時有一個參數(shù),形參有兩個,可以使第二個帶默認(rèn)值。修改void fun(int i,int j0)四、完成程序題(本大題共5小題,每小題4分,共20分)1。 完成下面類中成員函數(shù)的定義。include iostr

36、eaminclude stringusing namespace std;class strprivate:char *st;public:str(char a)set(a);str & operator=(_)delete st;set(a。st);return this;void show()coutstendl;str()delete st;void set(char s)/初始化st_strcpy(st,s);void main()str s1(”he),s2(”she);s1.show(),s2.show();s2=s1;s1.show(),s2。show();答案:str &a,s

37、t=new charstrlen(s)+1;2。 一個類的頭文件如下所示,num初始化值為5,程序產(chǎn)生對象T,且修改num為10,并使用show()函數(shù)輸出num的值10.#include class Testprivate:static int num;public:Test(int);void show();;_Test::Test(int n)num=n;void Test::show()coutnumendl;void main()Test t(10);_答案:int Test:num=5;,t。show();3。 下面是一個三角形三邊,輸出其面積C+程序,在下劃線處填上正確的語句。#

38、include iostream.hinclude void area()double a,b,c;cout”Input a b c:;_if(a+bc&a+cbc+ba)double l=(a+b+c)/2;_cout”The area is:sendl;elsecoutErrorbc;,double s=sqrt(l(la)(lb)*(l-c);4. 下面程序中Base是抽象類.請在下面程序的橫線處填上適當(dāng)內(nèi)容,以使程序完整,并使程序的輸出為:Der1 called!Der2 called!include iostream.hclass Basepublic:_;;class Der1:p

39、ublic Basepublic:void display()coutDer1 called!endl;class Der2:public Basepublic:void display()cout”Der2 called!”endl;;void fun(_)p-display();void main()Der1 b1;Der2 b2;Base p=b1;fun(p);p=&b2;fun(p);答案:virtual void display()=0;,Base *p5。 下面程序中用來求數(shù)組和。請在下面程序的橫線處填上適當(dāng)內(nèi)容,以使程序完整,并使程序的輸出為:s150。#include cla

40、ss Arrint a,n;public:Arr():a(0),n(0)Arr(int *aa, int nn)n=nn;a=new intn;for(int i=0;inn;i+)(a+i)=(aa+i);Arr()delete a;_;return *(a+i);void main()int b5=10,20,30,40,50;Arr a1(b,5);int i=0,s=0;_s+=a1。GetValue(i);couts=”sendl;答案:int GetValue(int i),for(;iclass exampleint a;public:example(int b=5)a=b+;v

41、oid print()a=a+1;cout a;void print()constcoutaendl;;void main()example x;const example y(2);x。print();y.print();答案:622。 給出下面程序輸出結(jié)果.include void main() int p1;int *p2=p1;int b=20;p1=&b;coutp2endl;答案:203. 給出下面程序輸出結(jié)果。include iostream.hclass Baseprivate:int Y;public:Base(int y=0) Y=y;cout”Base(”y”)n”;Ba

42、se() cout”Base()n;void print() cout Y ”;class Derived:public Baseprivate:int Z;public:Derived (int y, int z):Base(y)Z=z;cout”Derived(”y”,z)n;Derived() cout”Derived()n;void print()Base::print();coutZendl;;void main()Derived d(10,20);d。print();答案:Base(10)Derived(10,20)10 20Derived()Base()4。 給出下面程序輸出結(jié)果

43、.#include class Apublic:A()coutA 構(gòu)造函數(shù)n;fun();virtual void fun()coutA:fun() 函數(shù)n;class B:public Apublic:B()coutB構(gòu)造函數(shù)n”;fun();void fun() cout#include string。hclass Stringpublic:String(const char *str=NULL); / 普通構(gòu)造函數(shù)String(const String &other); / 拷貝構(gòu)造函數(shù)String(); / 析構(gòu)函數(shù)String operator=(const String other

44、); / 賦值函數(shù)void show()coutm_dataendl;private:char m_data; / 用于保存字符串;答案:String::String()deletem_data;/由于m_data是內(nèi)部數(shù)據(jù)類型,也可以寫成delete m_data;String:String(const char *str)if(str=NULL)m_data=new char1;/若能加NULL判斷則更好m_data=0;elseint length=strlen(str);m_data=new charlength+1; /若能加NULL判斷則更好strcpy(m_data, str);String::String(const String other)int length=strlen(other。m_data);m_data=new charlength+1;/若能加NULL判斷則更好strcpy

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論