面向?qū)ο箅x線作業(yè)資料_第1頁
面向?qū)ο箅x線作業(yè)資料_第2頁
面向?qū)ο箅x線作業(yè)資料_第3頁
面向?qū)ο箅x線作業(yè)資料_第4頁
面向?qū)ο箅x線作業(yè)資料_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第2章【2.3】 測試下面的注釋(它在C+風(fēng)格的單行注釋中套入了類似于C的注釋是否有效。/this is a strange /*way to do a comment*/有效【2.4】 以下這個(gè)簡短的C+程序不可能編譯通過,為什么?#include using namespace std;int main(int a,b,c;cout<<"Enter two numbers:"cin>>a>>b;c=sum(a,b;cout<<"sum is:"< return 0;sum(int a,int b

2、return a+b;不能,sum的使用在其聲明之前【2.5】 回答問題。(1 以下兩個(gè)函數(shù)原型是否等價(jià):float fun(int a,float b,char *c;float fun(int,float,char * ;等價(jià)(2 以下兩個(gè)函數(shù)的第一行是否等價(jià):float fun(int a,float b,char * c;float fun(int,float,char * ;等價(jià)【2.6】 下列語句中錯誤的是( C 。Aint *p=new int(10; Bint *p=new int10;Cint *p=new int; Dint *p=new int40(0;【2.7】 假設(shè)已

3、經(jīng)有定義“const char * const name="chen"”下面的語句中正確的是( D 。A. name3='a' B. name="lin"C. name=new char5; D. cout< 【2.8】 假設(shè)已經(jīng)有定義“char * const name="chen"”下面的語句中正確的是( 。A. name3='q' B. name="lin"C. name=new char5; D. name=new char('q'【2.9】 假設(shè)已經(jīng)有

4、定義“const char * name="chen"”下面的語句中錯誤的是( A 。A. name3='q' B. name="lin"C. name=new char5; D. name=new char('q'【2.10】重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,( B )是錯誤的。A函數(shù)名字 B函數(shù)的返回類型C參數(shù)個(gè)數(shù) D參數(shù)的類型【2.11】 在( A )情況下適宜采用內(nèi)聯(lián)函數(shù)。A函數(shù)代碼小,頻繁調(diào)用 B函數(shù)代碼多,頻繁調(diào)用C函數(shù)體含有遞歸語句 D. 函數(shù)體含有循環(huán)語句【2.12】 下列描述中,( C )是錯誤的。A. 內(nèi)聯(lián)

5、函數(shù)主要解決程序的運(yùn)行效率問題B. 內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前C. 內(nèi)聯(lián)函數(shù)中可以包括各種語句D. 對內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明【2.13】 在C+中,關(guān)于下列設(shè)置默認(rèn)參數(shù)值的描述中,( B )是正確的。A不允許設(shè)置默認(rèn)參數(shù)值B在指定了默認(rèn)值的參數(shù)右邊,不能出現(xiàn)沒有指定默認(rèn)值的參數(shù)C只能在函數(shù)的定義性聲明中指定參數(shù)的默認(rèn)值D. 設(shè)置默認(rèn)參數(shù)值時(shí),必須全部都設(shè)置 【2.14】 下面的類型聲明中正確是( D )。A. int &a4; B. int &*p;C.int &&q; D. int i,*p=&i;【2.15】 下面有關(guān)重

6、載函數(shù)的說法中正確的是( B )。A重載函數(shù)必須具有不同的返回值類型 B重載函數(shù)形參個(gè)數(shù)必須不同 C. 重載函數(shù)必須有不同的形參列表 D重載函數(shù)名可以不同 【2.16】 關(guān)于new運(yùn)算符的下列描述中,( C )是錯誤的。A,它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組 B. 使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除 C. 使用它創(chuàng)建對象時(shí)要調(diào)用構(gòu)造函數(shù) D. 使用它創(chuàng)建對象數(shù)組時(shí)必須指定初始值 【2.17】 關(guān)于delete運(yùn)算符的下列描述中,( C )是錯誤的。A它必須用于new返回的指針 B. 使用它刪除對象時(shí)要調(diào)用析構(gòu)函數(shù) C. 對一個(gè)指針可以使用多次該運(yùn)算符 D指針名前只有一對方括

7、號符號,不管所刪除數(shù)組的維數(shù)【2.18】 寫出下列程序的運(yùn)行結(jié)果。#include using namespace std;int i=15;int main( int i;i=100;:i=i+1;cout<<:i< return 0;101【2.19】 寫出下列程序的運(yùn)行結(jié)果。#include using namespace std;void f(int &m,int n int temp;temp=m;m=n;n=temp;int main( int a=5,b=10;f(a,b;cout< return 0;10 10【2.20】 分析下面程序的輸出結(jié)果

8、。#include using namespace std;int &f(int &i i+=10;return i;int main( int k=0;int &m=f(k;cout< m=20;cout< return 0;1020【2.21】 舉例說明可以使用const替代define以消除define的不安全性。答:例如:#include #define A 2+4#define B A*3void main( cout< 上面程序的運(yùn)行結(jié)果是14而不是18,但很容易被認(rèn)為是18。用const替代#define就能得到正確結(jié)果,從而消除了#de

9、fine的不安全性。#include const A=2+4;const B=A*3; void main( cout< 運(yùn)行結(jié)果為18。【2.22】 編寫一個(gè)C+風(fēng)格的程序,用動態(tài)分配空間的方法計(jì)算Fibonacci 數(shù)列的前20項(xiàng),并存儲到動態(tài)分配的空間中。#include using namespace std;int main(        int i;        int *p;     

10、;   p=new int20;        p0=0;        p1=1;        cout<<*p<<" "<<*(p+1<<" "        for(i=2;i<20;i+ 

11、0;              pi=pi-2+pi-1;        cout<<*(p+i<<" "             delete p;       return 0;【2.23】

12、編寫一個(gè)C+風(fēng)格的程序,建立一個(gè)被稱為sroot(的函數(shù),返回其參數(shù)的二次方根。重載sroot(3次,讓它返回整數(shù)、長整數(shù)與雙精度數(shù)的二次方根(計(jì)算二次方根時(shí),可以使用標(biāo)準(zhǔn)庫函數(shù)sqrt()。#include   #include   int   sroot(int   x         return   (intsqrt(x; float   sroot(float   x         return   (floatsqrt(x

13、; double   sroot(double   x         return   (doublesqrt(x; void   main(   /   test         int   i   =   4;         int   resultI   =   sroot(i;         float

14、  j   =   4.0;         float   resultJ   =sroot(j;         double   k   =   4.0000;         double   resultK   =   sroot(k; 【2.24】 編寫一個(gè)C+風(fēng)格的程序,解決百錢問題:將一元人民幣兌換成1、2、5分的硬幣,有多少種換法?#include

15、using namespace std;int main(int i,j,k;int sum=0;for(i=0;i<=100;i+for(j=0;j<=50;j+for(k=0;k<=20;k+if(i*1+2*j+5*k=100sum+;cout<<"總數(shù)為:"< 【2.25】 編寫一個(gè)C+風(fēng)格的程序,輸入兩個(gè)整數(shù),將它們按由小到大的順序輸出。要求使用變量的引用。#include using namespace std;void swap(int &x,int &yint temp=x;x=y;y=temp;int m

16、ain(int a,b;cin>>a>>b;if(a>bswap(a,b;cout< return 0;第三章:【3.7】 在下面有關(guān)對構(gòu)造函數(shù)的描述中,正確的是( A )。A構(gòu)造函數(shù)可以帶有返回值B構(gòu)造函數(shù)的名字與類名完全相同C構(gòu)造函數(shù)必須帶有參數(shù)D構(gòu)造函數(shù)必須定義,不能默認(rèn)【3.8】 在聲明類時(shí),下面的說法正確的是( C)。A可以在類的聲明中給數(shù)據(jù)成員賦初值B數(shù)據(jù)成員的數(shù)據(jù)類型可以是registerCprivate、public、protected可以按任意順序出現(xiàn)D沒有用private、public、protected定義的數(shù)據(jù)成員是公有成員【3.9】

17、 在下面有關(guān)析構(gòu)函數(shù)特征的描述中,正確的是( C )。A一個(gè)類中可以定義多個(gè)析構(gòu)函數(shù)B. 析構(gòu)函數(shù)名與類名完全相同C. 析構(gòu)函數(shù)不能指定返回類型D. 析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù)【3.10】 構(gòu)造函數(shù)是在( B )時(shí)被執(zhí)行的。A程序編譯 B. 創(chuàng)建對象C. 創(chuàng)建類 D程序裝人內(nèi)存【3.11】 在下面有關(guān)靜態(tài)成員函數(shù)的描述中,正確的是( B )。A在靜態(tài)成員函數(shù)中可以使用this指針B. 在建立對象前,就可以為靜態(tài)數(shù)據(jù)成員賦值C. 靜態(tài)成員函數(shù)在類外定義時(shí),要用static前綴D. 靜態(tài)成員函數(shù)只能在類外定義【3.12】 在下面有關(guān)友元函數(shù)的描述中,正確的說法是 A )。A友元函數(shù)是獨(dú)立于當(dāng)前類

18、的外部函數(shù)B. 一個(gè)友元函數(shù)不能同時(shí)定義為兩個(gè)類的友元函數(shù)C. 友元函數(shù)必須在類的外部定義D. 在外部定義友元函數(shù)時(shí),必須加關(guān)鍵字friend【3.13】 友元的作用之一是(A)。A提高程序的運(yùn)行效率 B加強(qiáng)類的封裝性C. 實(shí)現(xiàn)數(shù)據(jù)的隱藏性 D. 增加成員函數(shù)的種類【3.14】 以下程序運(yùn)行的結(jié)果是( B 。#include using namespace std;class Bpublic:B(B(int i,int j x=i;y=j;void printb(cout< private:int x,y;class Apublic:A(A(int I,int j;void printa

19、(;private:B c;A:A(int i,int j:c(i,jvoid A:printa(c.printb(;int main( A a(7,8;a.printa(;return 0;A8,9 B. 7,8 C. 5,6 D. 9,10【3.15】 以下程序的運(yùn)行結(jié)果是( D 。 #include using namespace std;class Apublic:void set(int i,int j x=i;y=j;int get_y(return y;private:int x,y;class boxpublic:void set(int l,int w,int s,int p

20、 length=1;width=w;label.set(s,p;int get_area(return length*width;private:int length,width;A label;int main( box b;b.set(4,6,1,20;cout< return 0;A24 B. 4 C. 20 D. 6【3.16】 以下程序的運(yùn)行結(jié)果是( B )。#include using namespace std;class Samplepublic:Sample(int i,int j x=i;y=j;void disp(cout<<"disp1&qu

21、ot;< void disp( constcout<<"disp2"< private:int x,y;int main(const Sample a(1,2;a.disp(;return 0;A. disp1 B.disp2 C. disp1 disp2 D. 程序編譯出錯【3.17】 以下程序的運(yùn)行結(jié)果是( B )。#include using namespace std;class Rpublic:R(int r1,int r2R1=r1;R2=r2;void print(;void print( const;private:int R1,R2

22、;void R:print(cout< void R:print( constcout< int main( R a(6,8;const R b(56,88;b.print(;return 0;A. 6,8 B. 56,88 C. 0,0 D. 8,6【3.18】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class toy public:toy(int q,int pquan=q;price=p;int get_quan(return quan;int get_price( return price;private:int quan,pri

23、ce;int main( toy op32=toy(10,20,toy(30,48,toy(50,68,toy(70,80,toy(90,16,toy(11,120,;for(int i=0;i<3;i+cout< cout< cout< cout< cout< return 0;10,2030,4850,6870,8090,1611,120【3.19】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class example public:example(int n i=n;cout<<"Const

24、ructingn"example( cout<<"Destructingn"int get_i( return i;private:int i;int sqr_it(example oreturn o.get_i(*o.get_i(;int main( example x(10;cout< cout< return 0;Constructing10100DestructingDestructing【3.20】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class aClass public:aClas

25、s(total+;aClass(total-;int gettotal( return total;private:static int total;int aClass:total=0;int main(aClass o1,o2,o3;cout< aClass *p;p=new aClass;if(!p cout<<"Allocation errorn"return 1;cout< cout<<"objects in existence after allocationn"delete p;cout< cout

26、<<"objects in existence after deletionn"return 0;3objects in existence4objects in existence after allocation3objects in existence after deletion【3.21】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class test public:test(;test(;private:int i;test:test( i=25;for(int ctr=0;ctr<10;ctr+ cou

27、t<<"Counting at"< test anObject;int main( return 0;Counting at0Counting at1Counting at2Counting at3Counting at4Counting at5Counting at6Counting at7Counting at8Counting at9【3.22】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class Aint a,b;public:A(a=0;b=0;cout<<"Default cons

28、tructor called.n"A(int i,int ja=i;b=j;cout<<"Constructor: a="< ;int main(A a3;A b3=A(1,2,A(3,4,A(5,6;return 0;Default constructor called.Default constructor called.Default constructor called.Constructor: a=1,b=2Constructor: a=3,b=4Constructor: a=5,b=6【3.23】 寫出下面程序的運(yùn)行結(jié)果。#inclu

29、de using namespace std;class Testprivate:int val;public:Test( cout<<"default."< Test(int n val=n;cout<<"Con."< Test(const Test& tval=t.val;cout<<"Copy con."< ;int main(Test t1(6;Test t2=t1;Test t3;t3=t1;return 0;Con.Copy con.Default.【3.24】

30、 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class Nprivate:int A;static int B;public:N(int aA=a;B+=a;static void f1(N m;void N:f1(N mcout<<"A="< cout<<"B="< int N:B=0;int main( N P(5,Q(9;N:f1(P;N:f1(Q;return 0;A=5B=14A=9B=14【3.25】 寫出下面程序的運(yùn)行結(jié)果。#include using namesp

31、ace std;class Mint x,y;public:M( x=y=0;M(int i,int jx=i;y=j;void copy(M*m;void setxy(int i,int jx=i;y=j;void print(cout< ;void M:copy(M*mx=m->x;y=m->y;void fun(M m1,M*m2m1.setxy(12,15;m2->setxy(22,25;int main(M p(5,7,q;q.copy(&p;fun(p,&q;p.print(;q.print(;return 0;5,722,25【3.26】

32、寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class Mint A;static int B;public:M(int aA=a;B+=a;cout<<"Constructing"< static void f1(M m;M(cout<<"Destructing n"void M:f1(M mcout<<"A="< cout<<"B="< int M:B=0;int main(M p(5,Q(10;M:f1(p

33、;M:f1(Q;return 0;ConstructingConstructingA=5B=15DestructingA=10B=15DestructingDestructingDestructing【3.27】 指出下列程序中的錯誤,并說明為什么。#include using namespace std;class Studentpublic:void printStu(;private:char name10;int age;float aver;int main( Student p1,p2,p3;p1.age=30;.return 0;age 為private不能付值【3.28】 指出

34、下列程序中的錯誤,并說明為什么。#include using namespace std;class Studentint sno;int age;void printStu(;void setSno(int d;void printStu(; cout<<"nSno is"< cout<<"age is"< void setSno(int s sno=s;void setAge(int a age=a;int main( Student lin;lin.setSno(20021;lin.setAge(20;lin.p

35、rintStu(;'class Student' 不存在一個(gè)叫 'setAge' 的方式【3.29】 指出下列程序中的錯誤,并說明為什么。#include using namespace std;class Pointpublic:int x,y;private:Piont(x=1;y=2;int main(Point cpoint;cpoint.x=2;return 0;構(gòu)筑函數(shù)錯誤【3.30】 下面是一個(gè)計(jì)算器類的定義,請完成該類成員函數(shù)的實(shí)現(xiàn)。class counterpublic:counter(int number; void increment(;

36、/給原值加1void decrement(; /給原值減1int getvalue(; /取得計(jì)數(shù)器值int print(; /顯示計(jì)數(shù)private:int value;counter:counter(int number       value = number;      void counter:increment(int n       value += n

37、;      void counter:decrement(       value -;      int counter:getvalue(       return value;      void counter:print(       p

38、rintf("%dn",getvalue(;      int main(       int a,b;       scanf("%d%d",&a,&b;       counter ct(a;       ct.increment

39、(b;       ct.decrement(;       ct.print(;       return 0;     【3.31】 根據(jù)注釋語句的提示,實(shí)現(xiàn)類Date的成員函數(shù)。#include using namespace std;class Datepublic:void printDate(; /顯示日期void setDay(int d; /設(shè)置日的值

40、void setMonth(int m; /設(shè)置月的值void setYear(int y; /設(shè)置年的值private:int day,month,year;int Date:setyear(int y             year=y;            return year;int Date:setmonth(int m    &#

41、160;      month=m;           return month;int Date:setday(int d            day=d;            return day;void Date:p

42、rintdate(              cout< int main( Date testDay;testDay.setDay(5;testDay.setMonth(10;testDay.setYear(2003;testDay.printDate(;return 0;【3.32】 建立類cylinder,cylinder的構(gòu)造函數(shù)被傳遞了兩個(gè)double值,分別表示圓柱體的半徑和高度。用類cylinder計(jì)算圓柱體的體積,并存儲在一個(gè)double變量中

43、。在類cylinder中包含一個(gè)成員函數(shù)vol,用來顯示每個(gè)cylinder對象的體積。#include using namespace std;#define PI 3.14159class Cylinderpublic:Cylinder(double radius,double height:radius(radius,height(height,volume(PI*radius*radius*heighttotal_vol += volume; double vol(const;friend void getParas(double& radius,double&heig

44、ht,double&vol,double& total_vol,const Cylinder& obj;private:double radius; /radiusdouble height; /heightdouble volume;/volume of current objectstatic double total_vol;/total volume;double Cylinder:total_vol = 0;double Cylinder:vol(constreturn this->volume;void getParas(double& rad

45、ius,double& height,double& vol,double& total_vol,const Cylinder& obj /get private member of Cylinderradius = obj.radius;height = obj.height;vol = obj.volume;total_vol = obj.total_vol;int main(double rd = 0,hg = 0,vol = 0,total_vol = 0;Cylinder cld_1(2,3.5,cld_2(5.2,7,cld_3(3.9,4.0;/3

46、 objectsgetParas(rd,hg,vol,total_vol,cld_3;cout<<"Cylinder 3:"< cout<<"radius:"< cout<<"height:"< cout<<"volume:"< cout<<"Total Volume:"< system("pause"return 0;【3.33】 構(gòu)建一個(gè)類book,其中含有兩個(gè)私有數(shù)據(jù)成員qu和pr

47、ice,將qu初始化為15,將price初始化為qu的10倍,建立一個(gè)有5個(gè)元素的數(shù)組對象。顯示每個(gè)對象數(shù)組元素的 qu*price值。#include class bookint qu, price;public:book(int q qu=q; price=10*q; int get_qu( return qu; int get_price( return price; ;void main( book obj5=1,2,3,4,5;for(int i=0;i<5;i+ cout<<"數(shù)組對象"< 的 qu*price 值 為:"<

48、; 【3.34】 修改習(xí)題3.33,通過對象指針訪問對象數(shù)組,使程序以相反的順序顯示每個(gè)對象數(shù)組元素的 qu*price值。#include class bookint qu, price;public:book(int q qu=q; price=10*q; int get_qu( return qu; int get_price( return price; ;void main( book obj5=1,2,3,4,5;book *p;p=&obj4;for(int i=0;i<5;i+ cout<<"數(shù)組對象"< 的 qu*price

49、 值 為:"< get_qu(*p->get_price(< p-;【3.35】 構(gòu)建一個(gè)類 Stock,含字符數(shù)組stockcode及整型數(shù)據(jù)成員quan、雙精度型數(shù)據(jù)成員price。構(gòu)造函數(shù)含3個(gè)參數(shù):字符數(shù)組na及q、p。當(dāng)定義Stock的類對象時(shí),將對象的第1個(gè)字符串參數(shù)賦給數(shù)據(jù)成員stockcode,第2和第3個(gè)參數(shù)分別賦給quan、price。未設(shè)置第2和第3個(gè)參數(shù)時(shí),quan的值為1000,price的值為8.98。成員函數(shù)print沒有形參,需使用this指針,顯示對象數(shù)據(jù)成員的內(nèi)容。假設(shè)類Stock第1個(gè)對象的三個(gè)參數(shù)分別為:“600001”,30

50、00和5.67,第2個(gè)對象的第1個(gè)數(shù)據(jù)成員的值是“600001”,第2和第3個(gè)數(shù)據(jù)成員的值取默認(rèn)值。要求編寫程序分別顯示這兩個(gè)對象數(shù)據(jù)成員的值。#include / const unsigned MAX_LEN = 256;class Stockpublic:/ 這里用的初始化形參列表Stock(char na, int q=1000, double p=8.98 : stockcode(na, quan(q, price(pvoid print(voidstd:cout << this->stockcode << " " << q

51、uan << " " << price << std:endl;private:char *stockcode; / 或改為 char stockcodeMAX_LEN;/ 其中 MAX_LEN 定義在前為一常量: const unsigned MAX_LEN = 256;int quan;double price;/ main functionint main(int argc, char *argvchar szTestString = "600001" / It's terminated with 

52、9;0'int iTestInteger = 3000;double dTestDouble = 5.67;Stock stObj1(szTestString, iTestInteger, dTestDouble;Stock stObj2(szTestString;stObj1.print(;stObj2.print(;return 0; / end main【3.36】 編寫一個(gè)程序,已有若干學(xué)生的數(shù)據(jù),包括學(xué)號、姓名、成績,要求輸出這些學(xué)生的數(shù)據(jù)并計(jì)算出學(xué)生人數(shù)和平均成績(要求將學(xué)生人數(shù)和總成績用靜態(tài)數(shù)據(jù)成員表示)。#include #include #define N 4 cla

53、ss student int no; char name10; int deg1; / 語文成績 int deg2; / 數(shù)學(xué)成績 int deg3; / 英語成績 static int sum1; / 語文總分 static int sum2; / 數(shù)學(xué)總分 static int sum3; / 英語總分 public: student(int n,char na,int d1,int d2,int d3   no=n;    strcpy(name,na;   deg1=d1;deg2=d2;deg3=d3;  

54、0; sum1+=deg1;sum2+=deg2;sum3+=deg3;double avg1(return (sum1*1.0/N;double avg2(return (sum2*1.0/N;double avg3(return (sum3*1.0/N;void disp(   printf(" %4d%10s%6d%6d%6dn",no,name,deg1,deg2,deg3; ; int student:sum1=0; int student:sum2=0; int student:sum3=0; void main( double (stude

55、nt:*fp(; / 定義成員函數(shù)指針 student s1(1,"Li",67,89,90; student s2(2,"Ma",67,89,90; student s3(3,"Zheng",67,89,90; student s4(4,"Chen",67,89,90;printf("輸出結(jié)果n"s1.disp(;s2.disp(;s3.disp(;s4.disp(;fp=student:avg1;printf(" 語文平均分:%gn",(s1.*fp(;fp=studen

56、t:avg2;printf(" 數(shù)學(xué)平均分:%gn",(s1.*fp(; fp=student:avg3;printf(" 英語平均分:%gn",(s1.*fp(; 第四章:【4.8】使用派中類的主要原因是( C )。A提高代碼的可重用性B提高程序的運(yùn)行效率C加強(qiáng)類的封裝性D實(shí)現(xiàn)數(shù)據(jù)的隱藏【4.9】 假設(shè)已經(jīng)定義好了一個(gè)類student,現(xiàn)在要定義類derived,它是從student私有派生的,定義類derived的正確寫法是( C )。Aclase derived:student private;Bclase derived:student publ

57、ic;Cclase derived:private student;Dclase derived:public student;【4.10】 在多繼承構(gòu)造函數(shù)定義中,幾個(gè)基類構(gòu)造函數(shù)用( C )分隔。A. : B. ; C, D. :【4.11】 設(shè)置虛基類的目的是( B )。A.簡化程序 B. 消除二義性 C. 提高運(yùn)行效率 D減少目標(biāo)代碼【4.12】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class B1public:B1(int i b1=i;cout<<"Constructor B1."< void Pr

58、int( cout< private:int b1;class B2public:B2(int ib2=i;cout<<"Constructor B2. "< void Print( cout< private:int b2;class A:public B2,public B1public:A(int i,int j,int l;void Print(;private:int a;A:A(int i,int j,int l:B1(i,B2(j a=l;cout<<"Constructor A. "< vo

59、id A:Print( B1:Print(;B2:Print(; cout< int main( A aa(3,2,1;aa.Print(;return 0;Constructor B2.Constructor B1.Constructor A.321【4.13】 寫出下面程序的運(yùn)行結(jié)果。#include using namespace std;class Mainprotected:char *mainfood;public:Main(char *name mainfood=name;class Subprotected:char *subfood;public:Sub(char *name subfood=name;class Menu:public Main,public Subpublic:Menu(char

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論