面向?qū)ο蟪绦蛟O(shè)計作業(yè)_第1頁
面向?qū)ο蟪绦蛟O(shè)計作業(yè)_第2頁
面向?qū)ο蟪绦蛟O(shè)計作業(yè)_第3頁
面向?qū)ο蟪绦蛟O(shè)計作業(yè)_第4頁
面向?qū)ο蟪绦蛟O(shè)計作業(yè)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、鄭州高?,F(xiàn)代遠(yuǎn)程教化 面對對象程序設(shè)計課程考核要求說明:本課程考核形式為提交作業(yè),完成后請保存為WORD 2003版本格式的文檔,登陸學(xué)習(xí)平臺提交,并檢查和確認(rèn)提交勝利(能夠下載,并且內(nèi)容無誤即為提交勝利)。一 作業(yè)要求1.請獨立自主完成作業(yè)內(nèi)容。二 作業(yè)內(nèi)容一)、簡答題:(每題 5 分,共30 分)1什么是抽象類?它有什么特點?答: 抽象類和接口緊密相關(guān),它們不能示例化,并且經(jīng)常部分實現(xiàn)或根本不實現(xiàn)。 特點: 1、抽象類不能干脆實例化 2、允許(但不要求)抽象類包含抽象成員。 3、抽象類不能被密封2 C+中運(yùn)用多態(tài)的前提條件是什么? 答:動態(tài)多態(tài)的前提條件: 1.通過調(diào)用虛函數(shù)實現(xiàn)多態(tài) 2.

2、通過基類的指針或引用調(diào)用虛函數(shù)3. 什么是類?類和結(jié)構(gòu)有和不同? 答:類是引用類型在堆上安排,類的實例進(jìn)行賦值只是復(fù)制了引用,都指向同一段實際對象安排的內(nèi)存 不同:類有構(gòu)造和析構(gòu)函數(shù),類可以繼承和被繼承結(jié)構(gòu)沒有構(gòu)造函數(shù),但可以添加。結(jié)構(gòu)沒有析構(gòu)函數(shù),結(jié)構(gòu)不行以繼承自另一個結(jié)構(gòu)或被繼承,但和類一樣可以繼承自接口。4. 面對對象的特征有哪些? 答:封裝,繼承,多態(tài) 5. 簡述this指針的含義是什么? 答:this指針是一個隱含于每一個成員函數(shù)中的特別指針。它是一個指向正在被該成員函數(shù)操作的對象,也就是要操作該成員函數(shù)的對象。6. 友元關(guān)系具有什么特點?答:友元函數(shù)的特點是能夠訪問類中的私有成員的

3、非成員函數(shù)。友元函數(shù)從語法上看,它和一般函數(shù)一樣,即在定義上和調(diào)用上和一般函數(shù)一樣。二)、分析下面的代碼,回答問題(每題 10 分,共 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<

4、<endl;然后利用對象c調(diào)用Show(),2下面代碼的執(zhí)行結(jié)果是什么?為什么?class Aint n;public: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ù),再

5、調(diào)用B自身的析構(gòu)函數(shù)3.下面代碼的執(zhí)行結(jié)果是什么?為什么?class Sampleint n;public:Sample();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重載了賦值

6、操作符,可以用Sample的一個對象去初使化另一個對象,s2對象被已經(jīng)初使化的s1所初使化4. 下面代碼的執(zhí)行結(jié)果是什么?為什么?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: pu

7、blic B, public Cpublic:D(char *s1,char *s2,char *s3,char *s4):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三)、依據(jù)要求編寫完整程序:(每題15分,共 30 分)1設(shè)計復(fù)數(shù)類的加法運(yùn)算操作,使之能夠執(zhí)行下列運(yùn)算:( 15 分)Complex x(3,6), y(4,5), z(0

8、,0);z = x + y;z=2.4 + x;z=y + 3.5答:class complex public: complex(int r=0,int i=0);/構(gòu)造 complex operator+(const complex& other); complex Complex:operator+(const int &a);void complex:input()protected: int real,image; ; void complex:input()int real,image;cout << "please enter a comple

9、x: " << endl;cin>>r>>m;real = r;image = m;complex:complex(int r,int i) real=r; image=i; return; complex complex:operator+(const complex& other) complex temp; temp.real=real+other.real; temp.image=image+other.image; return temp; complex complex:operator+(const int &a)co

10、mplex temp;temp.real= real +a;temp.image = image;return temp;int main(int argc,char* argv)complex a,b,c;a.input();b.input();c = a +b;/輸出c = 5 +a;/輸出c = b +5;/輸出 2. 設(shè)計High類,其數(shù)據(jù)成員為高h(yuǎn),定義虛函數(shù)disp()。由High派生出長方體類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*

溫馨提示

  • 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

提交評論