版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一 填空題()1、 派生類的生成過程經(jīng)歷了三個步驟:吸收基類成員 、 改造基類成員 、 添加新成員 。2、 多態(tài)分為: 專用多態(tài) 和 通用多態(tài) 。二、選擇題(10分)1在一個函數(shù)中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用( A )比較合適。A 內(nèi)聯(lián)函數(shù) B 重載函數(shù) C 遞歸調(diào)用 D 嵌套調(diào)用2下面對構(gòu)造函數(shù)的描述不正確的是( C )A 可以重載 B 其名字與類名相同 C 可以顯式調(diào)用構(gòu)造函數(shù) D 構(gòu)造函數(shù)是成員函數(shù) E 構(gòu)造函數(shù)不能是虛函數(shù)3、判斷題(正確的請寫T,錯誤的請寫F)(20分)靜態(tài)成員函數(shù)可以直接調(diào)用類中說明的非靜態(tài)成員。(F)windows應(yīng)用程序采用
2、基于消息的事件驅(qū)動運(yùn)行機(jī)制。(T)4、找出程序中的錯誤并改正(10分)class student() private: public: display() ; /-void g() student g() student s;return s;/-mian() void main()student s1;s1->display(); s1.display();5、讀程序,在語句后的括號中填入相應(yīng)的選項(xiàng),并寫出程序運(yùn)行結(jié)果結(jié)果(8個小題)(共40分 結(jié)果30分 選擇10分 )選項(xiàng):A、復(fù)制構(gòu)造函數(shù) B、構(gòu)造函數(shù) C、內(nèi)聯(lián)成員函數(shù) D、對象成員 E、對象作為函數(shù)的參數(shù) F、調(diào)用復(fù)制構(gòu)造函數(shù)
3、G、對象調(diào)用成員函數(shù)1、 #include <iostream.h> #include <math.h> class Point public: Point(int xx=0,int yy=0)X=xx;Y=yy; /1、( B ) Point(const Point& p); /2、( A ) int GetX()return X; int GetY()return Y; /3、( C ) private: int X,Y; ; Point:Point(const Point& p) X=p.X; Y=p.Y;cout<<"In
4、Point copy constructor."<<endl; class Distance public: Distance(Point xp1,Point xp2); /4、( E ) double GetDis()return dist;private: Point p1,p2; /5、( D ) double dist;Distance:Distance(Point xp1,Point xp2):p1(xp1),p2(xp2) /6、( B ) cout<<"2"<<endl; double x=double(p1.Ge
5、tX()-p2.GetX(); double y=double(p1.GetY()-p2.GetY(); dist=sqrt(x*x+y*y);void main() Point myp1(2,2),myp2(5,6); Distance myd(myp1,myp2); cout<<"The distance is:" cout<<myd.GetDis()<<endl; /7、( G )程序運(yùn)行結(jié)果:In Point copy constructor.In Point copy constructor.In Point copy cons
6、tructor.In Point copy constructor.in Distance copy constructor.The distance is:5(一) 填空題在類體內(nèi)使用關(guān)鍵字( static )說明的成員稱為靜態(tài)成員。2、重載的函數(shù)要求參數(shù)的( 個數(shù) )和( 類型 )不同。3、如果要表示某個變量的值不能修改,用修飾符( const )限制。4、對函數(shù) int fun( int x,int y) 中的參數(shù) x指定默認(rèn)值10 正確的聲明方式是( int fun(int y,int x=10) )。5、C+語言規(guī)定,成員函數(shù)如果被定義在類體內(nèi),則為默認(rèn)為( 內(nèi)聯(lián)成員函數(shù) )。6、在
7、類層次結(jié)構(gòu)中,創(chuàng)建子類對象時(shí),( 派生類 )構(gòu)造函數(shù)最后被執(zhí)行。7、C+規(guī)定,運(yùn)行多態(tài)性通過( 基 )類的指針或者( 引用 )調(diào)用 ( 虛函數(shù) )來實(shí)現(xiàn)。8、派生類的生成過程經(jīng)歷了三個步驟: ( 吸收基類成員 )、( 改造基類成員 )和( 添加新的成員 )。9、面向?qū)ο蟪绦蛟O(shè)計(jì)的4個基本特征是(抽象)、(繼承)、(封裝)、(多態(tài))。10、Windows應(yīng)用程序采用基于( 消息 )的事件驅(qū)動運(yùn)行機(jī)制。11、通常將用來派生新類的類稱為( 基類 ),又稱為父類,而將派生出來的新類稱為( 派生類 ),又稱為子類。12、含有( 純虛 )函數(shù)的類稱為抽象類。13、引用與被引用的實(shí)體具有相同的( 地址 )。
8、14、類成員的訪問權(quán)限有3種( 共有類型 )、( 私有類型 )、( 保護(hù)類型 )。15、通過函數(shù)改變實(shí)參的數(shù)據(jù),c+ 可以通過( 指針 )或者( 引用 )實(shí)現(xiàn)。16、c+通過( 函數(shù)重載 )實(shí)現(xiàn)靜態(tài)多態(tài)性,其(形參個數(shù)或類型)必須不同。18、c+類的用途有兩種,一種是生成類的對象,另一種是通過( 繼承 )派生出新類。19、在類Ctest的定義中,其拷貝構(gòu)造函數(shù)的聲明是( Ctest(Ctest &C); )。 20、抽象類必須有一個( 純虛 )函數(shù),并且不能產(chǎn)生自己的( 對象 )。21、C+規(guī)定,動態(tài)聯(lián)編通過多態(tài)性來實(shí)現(xiàn),實(shí)現(xiàn)多態(tài)性的同名函數(shù)必須( 形參表和返回值 )相同。22、面向?qū)?/p>
9、象的模型中,最基本的概念是對象和( 類 )。23、軟件設(shè)計(jì)模塊化的目的是( 降低復(fù)雜性 )。24、 派生類的成員一般分為兩部分,一部分是( 改造基類的成員 ),另一部分是自己定義的新成員。25、 在函數(shù)參數(shù)傳遞中,解決大的對象傳遞效率,最好使用( 引用 )為參數(shù)26、 如果要把返回值為void的函數(shù)A聲明為類B的友元函數(shù),則應(yīng)在類B的定義中加入的語句是( friend class A; )。27、如果類B繼承了類A,則稱類A為類B的基類,類B稱為類A的( 派生類 ) 。28、 將x+y中的+運(yùn)算符用友元函數(shù)重載應(yīng)聲明為( friend Complex operator+(const
10、Complex &x,const Complex &y); )30、在多態(tài)性的實(shí)現(xiàn)中,在基類與派生類的虛函數(shù)除名字相同外,( 形參表和返回值 )也必須相同。 31、用const定義的常量必須進(jìn)行( 賦初值 )。32、函數(shù)重載要求函數(shù)名相同,( 形參個數(shù)或類型 )不同。33、構(gòu)造函數(shù)名必須與類名 ( 相同 )34、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對象是指 ( 屬性 )和( 行為 )的封裝體。36、創(chuàng)建對象時(shí)系統(tǒng)自動調(diào)用( 構(gòu)造 )函數(shù)。37、用一個對象去構(gòu)造同類的另一個新對象 需要調(diào)用( 復(fù)制構(gòu)造函數(shù) )。38、用new為對象動態(tài)分配內(nèi)存,當(dāng)程序完畢必須用( delete )釋放。39、
11、類的每個普通成員函數(shù)都有一個隱含的this指針參數(shù), this指針指向( 正在被成員函數(shù)操作 )的對象。40、設(shè)pt為T類的一個指針,pt=new T10操作 須調(diào)用( 10 )次構(gòu)造函數(shù)。(二)判斷題(正確的請寫T,錯誤的請寫F)1、引用作為函數(shù)參數(shù)在函數(shù)內(nèi)可對被直接引用的變量進(jìn)行操作。T2、函數(shù)的返回值類型不同可以重載。F3、同類對象間可以整體賦值。T4、類的構(gòu)造函數(shù)可以重載。T5、C+中標(biāo)識符內(nèi)的大小寫字母是沒有區(qū)別的。F6、靜態(tài)成員函數(shù)可以直接調(diào)用類中說明的非靜態(tài)成員。F7、友元破壞了類的封裝和隱蔽性。T8、在多繼承時(shí),在調(diào)用不同基類中的相同成員時(shí)可能出現(xiàn)二義性。T9、抽象類自身無法實(shí)
12、例化。T10、析構(gòu)函數(shù)由于沒有參數(shù),它不能被重載。T11、使用關(guān)鍵字class定義的類中缺省的訪問權(quán)限是public。F12、光標(biāo)、位圖、對話框和菜單都是資源。T13、說明函數(shù)原型時(shí)不需要指明每個函數(shù)參數(shù)的名字,只需要說明每個參數(shù)的類型和返回值類型就可以了。T14、類的靜態(tài)數(shù)據(jù)成員需要在定義每個類的對象時(shí)進(jìn)行初始化。F15、字符串hello,world”在內(nèi)存中存放時(shí),占用11個字節(jié)的空間。F16、構(gòu)造函數(shù)的主要功能就是用來初始化對象。T17、用new運(yùn)算符動態(tài)分配的存儲空間若不用delete 釋放,則程序運(yùn)行結(jié)束后該空間會自動釋放。F18、基類的私有成員函數(shù)根本就不會繼承,更談不上使用。T1
13、9、友元關(guān)系是單向的不可逆的。T20、this指針隱含于每一個成員函數(shù)中。F21基類的構(gòu)造函數(shù)和析構(gòu)函數(shù)是能被繼承的。F22、如果一個類中,用戶沒有定義拷貝構(gòu)造函數(shù)時(shí),系統(tǒng)自動創(chuàng)建一個默認(rèn)的拷貝構(gòu)造函數(shù)。T24、成員函數(shù)的參數(shù)不可以設(shè)置為默認(rèn)值。F25、靜態(tài)成員的特點(diǎn)是它不僅是屬于某對象的,而是屬于整個類的,即所有對象的。T27、delete運(yùn)算符的功能是用來釋放使用new運(yùn)算符申請的內(nèi)存。F28、在私有繼承方式下,基類中公有成員和保護(hù)成員在派生類中都為私有成員。T29、基類的私有成員函數(shù)可以被繼承。T30、在多繼承時(shí),在調(diào)用不同基類中的相同成員時(shí)可能出現(xiàn)二義性。T31、聯(lián)編是指計(jì)算機(jī)程序自身
14、彼此關(guān)聯(lián)的過程,也就是把一個標(biāo)識符名和一個存儲地址聯(lián)系在一起的過程。T32、函數(shù)重載和運(yùn)算符重載就是通過動態(tài)聯(lián)編方式實(shí)現(xiàn)的編譯時(shí)的多態(tài)的體現(xiàn)。F33、虛函數(shù)是動態(tài)聯(lián)編的基礎(chǔ)。T35、運(yùn)算符重載之后運(yùn)算符的優(yōu)先級和結(jié)合性都會改變,并且要保持原運(yùn)算符的語法結(jié)構(gòu)。參數(shù)和返回值類型可以重新說明。F36、在程序能正確支持所設(shè)計(jì)的正常情況之后,再添加語句來處理異常情況,這種思想就是異常處理。T37、MFC是一個功能強(qiáng)大、結(jié)構(gòu)復(fù)雜和龐大的類庫。T38、C+支持多態(tài)性。T40、返回值類型、參數(shù)個數(shù)和類型都相同的函數(shù)也可以重載。F41、“引用”作為目標(biāo)的別名而使用,對引用的改動實(shí)際就是對目標(biāo)的改動。引用不是值,
15、不占存儲空間,聲明引用時(shí),目標(biāo)的存儲狀態(tài)不會改變。T42、使用關(guān)鍵字class定義的類中缺省的訪問權(quán)限是私有(private)的。T43、一個抽象類至少具有一個純虛函數(shù)。T44、類的靜態(tài)數(shù)據(jù)成員需要在定義每個類的對象時(shí)進(jìn)行初始化。F45、當(dāng)將一個類S定義為另一個類A的友元類時(shí),類S的所有成員函數(shù)都可以直接訪問類A的所有成員。T46、當(dāng)函數(shù)的返回值是數(shù)組類型的,傳遞的是數(shù)組第一個元素的地址。T47、構(gòu)造函數(shù)可以聲明為虛函數(shù)。F(三)選擇題1、關(guān)于成員函數(shù)特征的下列描述中,(A)是錯誤的。A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù);B、成員函數(shù)可以重載;C、成員函數(shù)可以設(shè)置缺省參數(shù)值;D、成員函數(shù)可以是靜態(tài)的。2
16、、void main()char str10='a','b','c'cout<<*str; 的輸出為( A )。A、a; B、b; C、c; D、abc; E、以上都不是。3、( C )是析構(gòu)函數(shù)的特征。A、析構(gòu)函數(shù)可以有一個或多個參數(shù);B、析構(gòu)函數(shù)名與類名不同;C、析構(gòu)函數(shù)的定義只能在類體內(nèi)。 4、C+語言中函數(shù)返回值的類型由( B )決定。A、return語句的表達(dá)式的類型;B、定義函數(shù)時(shí)所指明的返回值類型;C、實(shí)參類型; D、調(diào)用函數(shù)類型5、int a=10; int *pa=&a; int &ia=a; *pa
17、=20; ia=30;cout<<a;則輸出為( C )。A、10; B、20; C、30; D、40。6、在一個函數(shù)中,要求通過函數(shù)來實(shí)現(xiàn)一種不太復(fù)雜的功能,并且要求加快執(zhí)行速度,選用( A )比較合適。A、 內(nèi)聯(lián)函數(shù); B、 重載函數(shù); C、 遞歸調(diào)用; D、 嵌套調(diào)用。7、void main()char str10='a','b','c'cout<<str;的輸出為( D )。A、a; B、b; C、c; D、abc; E、以上都不是。8、靜態(tài)數(shù)據(jù)成員的特點(diǎn)不正確的是( D )。A、靜態(tài)數(shù)據(jù)成員不是屬于某個對象,而是
18、屬于整個類的。B、靜態(tài)數(shù)據(jù)成員不隨對象的創(chuàng)建而分配內(nèi)存空間,它也不隨對象被釋放而撤銷。只有在程序結(jié)束時(shí)才被系統(tǒng)釋放。C、靜態(tài)數(shù)據(jù)成員只能在類體外被初始化D、靜態(tài)數(shù)據(jù)成員可以不初始化10、( C )不是構(gòu)造函數(shù)的特征。A、構(gòu)造函數(shù)的函數(shù)名與類名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)必須指定類型說明11、下列關(guān)于C+語言類的描述中錯誤的是( C ) A)類用于描述事物的屬性和對事物的操作 B)類與類之間通過封裝而具有明確的獨(dú)立性 C)類與類之間必須是平等的關(guān)系,而不能組成層次結(jié)構(gòu)D)類與類之間可以通過一些方法進(jìn)行通信和聯(lián)絡(luò)12、 下面函數(shù)( C )的表示方法說明它使用對象的引用作為參數(shù)。A)
19、test(pt *p) B)test(pt p) C)test(pt &p) D)test(const P)13、以下敘述中正確的是( B )A)構(gòu)成C+語言程序的基本單位是類B)可以在一個函數(shù)中定義另一個函數(shù)C) main()函數(shù)必須放在其他函數(shù)之 D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義14、己知有定義:const int D=5;int i=1;double f=0.32;char c=15;則下列選項(xiàng)錯誤的是 ( B )A) +i; B) D-; C) C+; D)-f;15、以下程序的輸出結(jié)果是( A ) #include <iostream.h> void
20、reverse (int a,int n) int i,t; for(i=0;i<n/2;i+)t=ai;ai=an-1-i;an-1-i=t; void main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i<10;i+)s+=bi; cout<<s; A)22 B)10 C)34 D)30 18、下列描述中,正確的是( C )A) 虛函數(shù)是一個static 類型的成員函數(shù); B)虛函數(shù)是一個非成員函數(shù);C) 抽象類是指具有純虛函數(shù)的類;D)抽象類可以說明其對象;19、友元的作用是(
21、 A )。A)提高程序的運(yùn)用效率;B)加強(qiáng)類的封裝性; C)實(shí)現(xiàn)數(shù)據(jù)的隱藏性; D)增加成員函數(shù)的種類;20、下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,在劃線處應(yīng)填入的選項(xiàng)是( D )#include<iostream. b>void main() int i=0,j,k; doi+;k=316-13*i;while( ); j=k/11;cout<<”316=13*”<<i<<”+11*”<<i; A)k/11 B)k% 11 C)k/11=0 D)k%1104、找出程序中的錯誤并改正(10分)c
22、lass student() private: public: display() ; /-void g() student g() student s;return s;/-mian() void main()student s1;s1->display(); s1.display();讀程序?qū)懡Y(jié)果#include <iostream.h>class Point public: Point(int x, int y) X=x; Y=y;cout<<"Constructor Called."<<endl; Point(Point &
23、amp; p); Point() cout<<"Destructor Called."<<endl; int Xcoord()return X; int Ycoord()return Y;private: int X, Y;Point:Point(Point & p) X=p.X;Y=p.Y;cout<<"Copy_initialization Constructor Called."<<endl; void main() Point P1(5,7); Point P2(P1); cout<&
24、lt;"P2="<<P2.Xcoord()<<","<<P2.Ycoord()<<endl; 結(jié)果:Constructor Called.Copy_initialization Constructor Called.P2=5,7Constructor Called.Constructor Called.#include <iostream.h> 第一題class Datepublic: Date(int y, int m, int d) year=y;month=m;day=d;cout<
25、<"Constructor called"<<endl; Date()cout<<"Destructor called"<<endl; void Print()cout<<year<<"-"<<month<<"-"<<day<<endl; void SetDate(int py, int pm, int pd) year=py; month=pm; day=pd;private: int year, m
26、onth, day;void main() Date today(2011,1,20), *pd; pd=&today; today.Print();today.SetDate(2008,4,10);(*pd).Print();pd->SetDate(2012,1,23);today.Print();結(jié)果:Constructor called2011-1-202008-4-102012-1-23Destructor called#include <iostream.h> 4class Myclasspublic:Myclass(int a,int b,int c);
27、void GetNumber();void GetSum();private:int A,B,C;static int Sum;int Myclass:Sum=0; Myclass:Myclass(int a,int b,int c)A=a;B=b;C=c;Sum+=A+B+C; void Myclass:GetNumber()cout<<"Number="<<A<<","<<B<<","<<C<<endl; void Myclass:GetSum()
28、cout<<"Sum="<<Sum<<endl;void main() Myclass M(4,9,11),N(11,8,12); M.GetNumber(); N.GetNumber(); M.GetSum();Myclass P(5,5,8); P.GetSum();N.GetSum();結(jié)果:Number=4,9,11Number=11,8,12Sum=55Sum=73Sum=73#include <iostream.h> 第三題class Mpublic:M(int x,int y) X=x; Y=y;M(int x)
29、 X=x; Y=x*x;int Add(int x,int y=10);int Add();int Xout() return X;int Yout() return Y;private:int X,Y;int M:Add(int x,int y) X=x;Y=y;return X+Y;int M:Add()return X+Y;void main() M a(1,2),b(4); cout<<"a="<<a.Xout()<<","<<a.Yout()<<endl; cout<<&q
30、uot;b="<<b.Xout()<<","<<b.Yout()<<endl; int i=a.Add(); int j=a.Add(35,20); int k=b.Add(5); cout<<i<<endl<<j<<endl<<k<<endl;結(jié)果:a=1,2b=4,1635515class teacher 5.2char* dpt;public:teacher(char* pdpt) dpt=pdpt;cout<<"te
31、acher構(gòu)造"<<endl;teacher()cout<<"teacher析構(gòu)"<<endl;class GraduateStudent:public student,public teacherchar* major;public:GraduateStudent(char* pclassname,char* pdpt,char* pmajor):student(pclassname),teacher(pdpt)#include <iostream.h> 5.1#include <string.h>cl
32、ass studentchar* classname;public:student(char* pclassname)classname=pclassname;cout<<"student構(gòu)造"<<endl;student()cout<<"student析構(gòu)"<<endl;#include <iostream.h> 6class Base1public:Base1(int i) b1=i;cout<<"constructor Base1."<<&quo
33、t;t"<<i<<endl; Base1()cout<<"destructor Base1."<<endl;void print() cout<<b1<<"t" private:int b1;class Base2public: Base2(int i) b2=i;cout<<"constructor Base2."<<"t"<<i<<endl;Base2()cout<<&q
34、uot;destructor Base2."<<endl; void print() cout<<b2<<"t"private:int b2;class A:public Base2,public Base1public:A(int i,int j,int l):Base1(i),Base2(j)a=l;cout<<"constructor A."<<"t"<<l<<endl; void print() Base1:print(); Base
35、2:print();cout<<a<<endl; private:int a;void main()A aa(1,2,3);結(jié)果:constructor Base2. 1constructor Base1. 2constructor A. 3destructor Base1.destructor Base2. major =pmajor;cout<<"GraduateStud構(gòu)造"<<endl;void main() 5.3GraduateStudent g("0803","通信系",&
36、quot;數(shù)學(xué)");結(jié)果:student構(gòu)造teacher構(gòu)造GraduateStudent構(gòu)造teacher析構(gòu)student析構(gòu)#include <iostream.h> 7class Apublic:A(const char *s) cout<<s<<endl;A()cout<<"destructor A"<<endl;class B:virtual public A /A為虛基類,派生B類public:B(const char *s1,const char *s2):A(s1)cout<&l
37、t;s2<<endl; ;class C:virtual public Apublic:C(const char *s1,const char *s2):A(s1) cout<<s2<<endl; ;class D:public B,public Cpublic:D(const char *s1,const char *s2,const char *s3,const char *s4):B(s1,s2),C(s1,s3),A(s1) cout<<s4<<endl; ;void main()D *ptr=new D("clas
38、s A","class B","class C","class D");delete ptr;結(jié)果:class Aclass Bclass Cclass Ddestructor A#include <iostream.h> 9class Datepublic: Date(int y, int m, int d); Date(); void Print(); void SetDate(int py, int pm, int pd);private: int year, month, day;Date:Date(in
39、t y, int m, int d) year=y;month=m;day=d;cout<<"Constructor called"<<endl;Date:Date()cout<<"Destructor called"<<endl;void Date:Print()cout<<year<<"-"<<month<<"-"<<day<<endl;void Date:SetDate(int py, in
40、t pm, int pd)year=py; month=pm; day=pd;void main() Date today(1998,4,9), *pd; pd=&today; cout<<"today is:" today.Print();today.SetDate(1998,4,10);cout<<"today is:"(*pd).Print();pd->SetDate(2009,10,1); cout<<"today is:"today.Print();結(jié)果:Constructo
41、r calledtoday is:1998-4-9today is:1998-4-10today is:2009-10-1Destructor called#include <iostream.h> 8class Apublic:A(const char *s) cout<<s<<endl;A()cout<<"destructor A"<<endl;class B:virtual public A /A為虛基類,派生B類public:B(const char *s1,const char *s2):A(s1)cou
42、t<<s2<<endl; ;class C:virtual public Apublic:C(const char *s1,const char *s2):A(s1) cout<<s2<<endl; ;class D:public B,public Cpublic:D(const char *s1,const char *s2,const char *s3,const char *s4):B(s1,s2),C(s1,s3),A(s1) cout<<s4<<endl; ;void main()D *ptr=new D(&qu
43、ot;class A","class B","class C","class D");delete ptr;結(jié)果:class Aclass Bclass Cclass Ddestructor A#include <iostream.h>class Apublic:A()a=0; cout<<"As default constructor called"<<endl;A(int i)a=i; cout<<"As constructor called.
44、"<<endl;A() cout<<"As destructor called."<<endl;void Print() const cout<<a<<"," private:int a;#include <iostream.h> 13class pointpublic:point(int i=0,int j=0) x0=i;y0=j;void draw() cout<<"pointdraw() called."<<endl;vi
45、rtual void set() cout<<"pointset() called."<<endl; / 虛函數(shù) protected: int x0,y0;class line: public pointpublic: line(int i=0,int j=0,int m=0,int n=0):point(i,j) x1=m;y1=n; void set() cout<<"lineset() called."<<endl; void draw() cout<<"linedraw() c
46、alled."<<endl; protected: int x1,y1;void drawobj(point *p)p->draw(); / void setobj(point *p)p->set();void main()point *poiobj=new point; line *lineobj=new line;drawobj(lineobj);setobj(lineobj); setobj(poiobj);poiobj->set();(*lineobj).draw();結(jié)果:pointdraw() called.lineset() called.
47、pointset() called.pointset() called.linedraw() called.class B:public A 10public:B() b=0;cout<<"Bs default constructor called."<<endl;B(int i,int j,int k);B() cout<<"Bs destructor called."<<endl;void Print();private:int b;B:B(int i,int j,int k):A(i) b=k;cou
48、t<<"Bs constructor called."<<endl;void B:Print() A:Print();cout<<b<<endl;void main()B bb(2,2,7);bb.Print();結(jié)果:As default constructor calledBs destructor called.2,7Bs destructor called.As destructor called.15、#include<iostream.h> class Base protected: int x,y;p
49、ublic: Base(int x1=0,int y1=0) x=x1;y=y1;virtual void display()=0;class Sub1:public Base protected: float z; public: Sub1(int x2,int y2 ,float z1) :Base(x2,y2) z=z1;virtual void display() cout<<”x=”<<x<<endl;cout<<”y=”<<y<<endl;cout<<”z=”<<z<<end
50、l;class Sub2:public Base protected: char ch; public: Sub2(int x2,int y2 ,char ch1) :Base(x2,y2) ch=ch1;virtual void display() cout<<”x=”<<x<<endl;cout<<”y=”<<y<<endl;cout<<”ch=”<<ch<<endl;class Sub11:public Sub1 protected: float w; public: Sub11(
51、int x3,int y3 ,float z2,float w1) :Sub1(x3,y3,z2) w=w1;virtual void display() Sub1:display();cout<<”w=”<<w<<endl;void fn(Base &s) s.display();main() Sub1 a(1,2,3.0),Sub2 b(1,2 ,c),Sub11 c(1,2,3.0,4.0); fn(a);fn(b);fn(c);結(jié)果:x=1y=2z=3x=1y=2ch=cx=1y=2z=3.0w=4.0據(jù)以下要求寫程序。 1、 基類:Pers
52、on,數(shù)據(jù)成員:姓名 name;成員函數(shù):display()。由基類派生Student和Teacher類。Student類,數(shù)據(jù)成員:班級,classname;成員函數(shù):display()。Teacher類,數(shù)據(jù)成員:部門,dpt;成員函數(shù):display()。由Student和Teacher類派生Graduatestudent。Graduatestudent類,數(shù)據(jù)成員:主攻方向,major;成員函數(shù):display()。實(shí)例化一個Graduatestudent對象,并能顯示其信息。 (請注意對同名成員的處理)void Teacher:display () 第一題2.0Person:disp
53、lay ();display_dpt (); class Graduatestudent : public Student, public Teacher public:Graduatestudent (char* name, char* classname, char* dpt, char* major): Person (name), Student (name, classname),Teacher (name, dpt), major (major) virtual void display ();protected:void display_major () cout <<
54、; "major:" << major << endl; private:string major; ;void Graduatestudent:display () Person:display ();Student:display_classname ();Teacher:display_dpt ();display_major (); int main () Graduatestudent a ("John Smith", "aaaa", "bbbb", "cccc"
55、;);Person *p = &a;p->display ();return 0; #include <string> 第一題 1.0#include <iostream>using namespace std;class Person public:Person (char* name) : name (name) virtual void display ();private:string name; ;void Person:display () cout << "name:" << name << endl; class Student : virtual public Person public:Student (char* name, char* classname): Person (name), classname (classname) virtual void display ();protected:void display_classname () cout << "classname:" << classname << endl; private:string classname; ;void St
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹主題課程設(shè)計(jì)
- 幼兒園愛喝水課程設(shè)計(jì)
- 有色冶金爐課程設(shè)計(jì)
- 河南研學(xué)課程設(shè)計(jì)
- 漢字點(diǎn)陣課程設(shè)計(jì)教程
- 影子動物園課程設(shè)計(jì)
- 2024版虛擬現(xiàn)實(shí)娛樂體驗(yàn)許可合同3篇
- 2024年實(shí)習(xí)教師與教育出版機(jī)構(gòu)勞動合同模板3篇
- 2024版影視剪輯師項(xiàng)目制聘用合同正范3篇
- 2024版服務(wù)器租賃合同:含全球網(wǎng)絡(luò)接入與本地化支持3篇
- 五官科醫(yī)院感染管理
- 規(guī)劃設(shè)計(jì)方案審批全流程
- 2024年考研政治試題及詳細(xì)解析
- 2024年03月遼寧建筑職業(yè)學(xué)院招考聘用17人筆試歷年(2016-2023年)真題薈萃帶答案解析
- 酒店強(qiáng)電主管述職報(bào)告
- 2023版道德與法治教案教學(xué)設(shè)計(jì)專題7 第1講 社會主義法律的特征和運(yùn)行
- 虛擬電廠總體規(guī)劃建設(shè)方案
- 調(diào)試人員微波技術(shù)學(xué)習(xí)課件
- 2024年四川成都市興蓉集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 圍絕經(jīng)期的特點(diǎn)和對策課件
- 國網(wǎng)安全生產(chǎn)培訓(xùn)課件
評論
0/150
提交評論