版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 面向?qū)ο蟪绦蛟O(shè)計(jì)1什么是抽象類?它有什么特點(diǎn)?答:用 abstract 修飾的類是抽象類。在C+中,含有純虛擬函數(shù)的類稱為抽象類,它不能生成對象。抽象類是不完整的,并且它只能用作基類。其特點(diǎn)如下:1、抽象類不能直接實(shí)例化,并且對抽象類使用 new 運(yùn)算符是編譯時錯誤。雖然一些變量和值在編譯時的類型可以是抽象的,但是這樣的變量和值必須或者為 null,或者含有對非抽象類的實(shí)例的引用(此非抽象類是從抽象類派生的)。2、允許(但不要求)抽象類包含抽象成員。3、抽象類不能被密封。2C+中使用多態(tài)的前提條件是什么?答:C+重載、重寫均是多態(tài): 1)從語法上說:重載必須函數(shù)名和返回值一致,且參
2、數(shù)順序、個數(shù)和類型(有一個不一樣),而重寫必須函數(shù)名和返回值一致,且參數(shù)順序、個數(shù)和類型(必須全一樣)。2)重載可以用于一個類自身內(nèi)部,也可以用于繼承類;重寫只能用于繼承類關(guān)系中。3)重載一般用于需要在某些參數(shù)允許被缺省的情況下完成(可省略參數(shù)的函數(shù))。重寫用于“工廠模式”以及其衍生產(chǎn)品中發(fā)揮作用。3. 什么是類?類與結(jié)構(gòu)有和不同?答:類是一種復(fù)雜的數(shù)據(jù)類型,它是將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。在c+中類和結(jié)構(gòu)除了關(guān)鍵字不同之外只有兩點(diǎn)區(qū)別:()class中默認(rèn)的成員訪問權(quán)限是private的,而struct中則是public的。
3、()從class繼承默認(rèn)是private繼承,而從struct繼承默認(rèn)是public繼承。 除此這外無任何區(qū)別。4. 面向?qū)ο蟮奶卣饔心男?#160;答:面向?qū)ο蟮乃膫€基本特征是:封裝、繼承、抽象、多態(tài)。5. 簡述this指針的含義是什么?答:this 指針是一個隱含于每一個類的成員函數(shù)中的特殊指針(包括析構(gòu)函數(shù)和構(gòu)造函數(shù)),它用于指向正在被成員函數(shù)操作的對象。不過,在一般的程序設(shè)計(jì)中不直接用它的,this是一個指針變量,因此在成員函數(shù)中,可以使用*this來表示正在調(diào)用該函數(shù)的對象。6. 友元關(guān)系具有什么特點(diǎn)?二、分析下面的代碼,回答問題(每題 10 分
4、,共 40 分)1 分析下面的代碼,指出其中的錯誤,說明理由并改正class C public: int fn1( int x ) dm = x ; private: int dm; ;void main ( ) C c;c.fn1(16 );cout << c.dm << n;/dm為私有變量,是不能通過對象直接訪問的,正確的做法是添加一個public類型的方法,如public void Show()cout<<dm<<endl;然后利用對象c調(diào)用Show(),c.Show();2下面代碼的執(zhí)行結(jié)果是什么?為什么?class Aint n;pu
5、blic:A() ;A(int i)n=i;A() cout<<"n="<<n<<endl;class B A a; int m;public:B(int i,int j):a(i)m=j;B()cout<<"m="<<m<<endl;void main()B b(1,2);/執(zhí)行結(jié)果:n=1m=2原因:b對象里包含一個A類的對象,b對象在析構(gòu)時先調(diào)用A的析構(gòu)函數(shù),再調(diào)用B自身的析構(gòu)函數(shù)3.下面代碼的執(zhí)行結(jié)果是什么?為什么?class Sampleint n;public:Sampl
6、e();Sample(int i)n=i;Sample& operator=(Sample);void disp()cout<<"n="<<n<<endl;Sample & Sample:operator=(Sample s)Sample:n=s.n;return *this;void main()Sample s1(10),s2; s2=s1; s2.disp();/結(jié)果:n=10Sample重載了賦值操作符,可以用Sample的一個對象去初使化另一個對象,s2對象被已經(jīng)初使化的s1所初使化4. 下面代碼的執(zhí)行結(jié)果是什么
7、?為什么?class Apublic:A(char *s) cout<<s<<endl;A();class B:virtual public Apublic:B(char *s1,char*s2):A(s1)cout<<s2<<endl;class C:virtual public Apublic:C(char* s1,char* s2) : A(s1)cout<<s2<<endl;class D: public B, public Cpublic:D(char *s1,char *s2,char *s3,char *s4
8、):B(s1,s2),C(s1,s2),A(s1)cout<<s4<<endl;創(chuàng)建對象的語句: D d(“class A”,”class B”,”class C”,”class D”);執(zhí)行結(jié)果是什么?為什么?/執(zhí)行結(jié)果:class Aclass Bclass Cclass D原因:不會,只是測試了一下,把結(jié)果給出來三、根據(jù)要求編寫完整程序:(每題15分,共 30 分)1設(shè)計(jì)復(fù)數(shù)類的加法運(yùn)算操作,使之能夠執(zhí)行下列運(yùn)算:( 15 分)Complex x(3,6), y(4,5), z(0,0);z = x + y;z=2.4 + x;z=y + 3.5/Complex
9、operator+(Complex s1)/*這個函數(shù)體不會寫*/Complex Complex:operator+(const Complex &s1)Complex tmp;tmp.real=this->real+s1.real;tmp.imag=this->imag+s1.imag;return tmp;Complex Complex:operator+(double d)Complex tmp;tmp.real+=d;tmp.imag=this->imag;return tmp;2. 設(shè)計(jì)High類,其數(shù)據(jù)成員為高h(yuǎn),定義虛函數(shù)disp()。由High派生出長
10、方體類Cuboid與圓柱體類Cylinder。在主函數(shù)中用基類指針變量p調(diào)用虛函數(shù)disp()顯示長方體與圓柱體的體積。(15分)class Highpublic:unsigned int h;virtual void disp();class Cuboid:public HighPublic:unsigned int length;unsigned int width;virtual void disp()cout<<length*width*h<<endl;Class Cylinder:public High Public:unsigned int r;/半徑virtual void disp()cout<<3.14159*r*r*h<
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東石油化工學(xué)院《管理學(xué)前沿》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東汕頭幼兒師范高等??茖W(xué)?!妒称访庖邔W(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《研學(xué)旅行課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東南方職業(yè)學(xué)院《數(shù)理統(tǒng)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東茂名農(nóng)林科技職業(yè)學(xué)院《工程力學(xué)輔導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東理工職業(yè)學(xué)院《預(yù)防醫(yī)學(xué)新》2023-2024學(xué)年第一學(xué)期期末試卷
- 三年級數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)匯編及答案
- 2021高中物理-第四章-波粒二象性-章末總結(jié)-學(xué)案(教科版選修3-5)
- 大學(xué)生勞動教育(合肥工業(yè)大學(xué))學(xué)習(xí)通測試及答案
- 八年級上冊英語思維導(dǎo)圖
- 當(dāng)代中國外交(外交學(xué)院)知到智慧樹章節(jié)測試課后答案2024年秋外交學(xué)院
- 大學(xué)生職業(yè)生涯規(guī)劃
- 干燥綜合征的護(hù)理查房
- 【MOOC】財(cái)務(wù)管理-四川大學(xué) 中國大學(xué)慕課MOOC答案
- 交通管理扣留車輛拖移保管 投標(biāo)方案(技術(shù)方案)
- 江蘇省徐州市2023-2024學(xué)年六年級上學(xué)期期末科學(xué)試卷(含答案)2
- 五年級數(shù)學(xué)上冊七大重點(diǎn)類型應(yīng)用題
- 1離子反應(yīng)課件2024-2025學(xué)年人教版高一化學(xué)
- 培訓(xùn)班與幼兒園合作方案
- 富血小板血漿(PRP)臨床實(shí)踐與病例分享課件
- 新教材邏輯的力量-高二語文選擇性必修上冊部編版課件演講教學(xué)
評論
0/150
提交評論