C++面向?qū)ο蟪绦蛟O(shè)計(jì)清考試卷試題答案_第1頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)清考試卷試題答案_第2頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)清考試卷試題答案_第3頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)清考試卷試題答案_第4頁
C++面向?qū)ο蟪绦蛟O(shè)計(jì)清考試卷試題答案_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、東華理工大學(xué) 2007 2008 學(xué)年第 1 學(xué)期 面向?qū)ο蟪绦蛟O(shè)計(jì) 清考 考試試題( A1 )卷11、在類F2中聲明了下列函數(shù)原型:錯誤的是 B ;構(gòu)造函數(shù)的原型是 ;析構(gòu)函數(shù)的原型是 B 。A、 int f1(int, char buffer); B、 F2();C、 F2(int x,int y); D、 f3(Myclass *ptr);12、在下列函數(shù)原型中錯誤的是 B 。A、. int add(int x=3,int y=4,int z=5); B、. int add(int x,int y=4,int z);C、. int add(int x,int y=4,int z=5);

2、D、 int add(int x,int y,int z=5);13、在類中說明的成員不可以使用關(guān)鍵字 BC 進(jìn)行修飾。A、 private B、 extern C、 auto D、 public14、C+類體系中,不能被派生類繼承的有 D 。A、 轉(zhuǎn)換函數(shù) B、 構(gòu)造函數(shù) C、 虛函數(shù) D、 靜態(tài)成員函數(shù)15、創(chuàng)建或刪除堆對象,需要使用操作符 B A、 -> B、 new C、 delete E、 *16、定義類T的對象O的正確方法是 A 。A、 T O; B、 T O( ); C、 O T; D、 O T( );二、填空題(每空1分,共28分) 1面向?qū)ο蟪绦蛟O(shè)計(jì)方法的四個基本特征是

3、 抽象 、 封裝 、 繼承 、 多態(tài) 。 2類的定義格式一般地分為 類名 和 對象名 兩部分。3 函數(shù)重載 就是賦給同一個函數(shù)名多個含義。4類的繼承方式有三種,分別是 private 、 public 、 protected 。5VC+中負(fù)責(zé)數(shù)據(jù)輸入和管理的類是 iostream ;負(fù)責(zé)數(shù)據(jù)顯示的類是 cout 。6MFC中標(biāo)準(zhǔn)的設(shè)備環(huán)境封裝類是 對象 ;VC+中的坐標(biāo)系統(tǒng)分為兩類,分別是 邏輯坐標(biāo) 和 設(shè)備坐標(biāo) 。7VC+中可通過 invalidateRect 方法使窗口重繪自身。8VC+中的對話框是由 CWnd 類派生而來,對話框可分為 模態(tài) 和 非模態(tài) 兩種。9通過對象名或?qū)ο笠谜{(diào)用它

4、的成員函數(shù)使用運(yùn)算符 * ,而通過指向?qū)ο蟮闹羔樥{(diào)用它的類成員函數(shù)使用運(yùn)算符 : 。10指定為 訪問屬性的類成員只能被本類的成員函數(shù)或友元函數(shù)調(diào)用。11在VC+中,連接器所生成的文件的擴(kuò)展名為 .obj 。12動態(tài)分配一個int類型對象所需的存儲空間使用運(yùn)算符 2 ,返回值的類型為 整型 。13如果沒有為類的成員對象提供成員初始化值,那么該對象的 默認(rèn) 構(gòu)造函數(shù)將被調(diào)用。14派生類的構(gòu)造函數(shù)是在其基類的構(gòu)造函數(shù)執(zhí)行之 后 執(zhí)行的。15每個對象都維護(hù)了一個指向自身的指針,這個指針稱為 this 指針。 一、選擇題(每空2分,共32分)1、 函數(shù)重載的根據(jù)是: D A. 函數(shù)的返回值 B. 函數(shù)名

5、C. 函數(shù)參數(shù)的類型與個數(shù) D. 函數(shù)體的功能相似。2、 對于char* const pc=“china”,說法正確的是: B A、 指針的指向可以改變 B、指針?biāo)赶虻膬?nèi)容可以改變C. 指針的指向和指向的內(nèi)容都能改變 D. 指針的指向的內(nèi)容不可以改變*pc改變指針指向的內(nèi)存單元的值。C、指針的指向和指針指向的內(nèi)存單元的值都不能改變。D、可以通過*pc改變指針指向的內(nèi)存單元的值 3、關(guān)于虛函數(shù),說法正確的是: B A、靜態(tài)成員函數(shù)可以聲明為虛函數(shù) B. 構(gòu)造函數(shù)可以聲明為虛函數(shù)。C、內(nèi)聯(lián)函數(shù)可以聲明為虛函數(shù)。 D、析構(gòu)函數(shù)可以聲明為虛函數(shù)。4、下列不為某個類對象所獨(dú)有的是: C A. priv

6、ate成員 B. protected成員 C. public成員 D. static成員5、當(dāng)函數(shù)功能不太復(fù)雜,而且要加快程序的執(zhí)行速度,可以用: A A.內(nèi)聯(lián)函數(shù) B. 重載函數(shù) C.遞歸函數(shù) D.嵌套函數(shù)6、假設(shè)A是B的友類,關(guān)于友類的聲明是在: B A、 A中 B、 B中C、main函數(shù)中 D、main函數(shù)所在文件中且在main函數(shù)開始前7、下列說法正確的是: C A、 在main函數(shù)中定義的變量是全局變量。B、 為避免混淆,不同函數(shù)之間不能使用相同的變量名。C、 形式參數(shù)屬于局部變量。D、 局部變量不能在復(fù)合語句中定義。 8、下面語法中錯誤的是 D 。A、int n=5; int yn

7、; B、 const int n=5; int yn;C、 int n=5; int *py=new intn; D、 const int n=5;int *py=new intn; 9、要想在不同類的所有對象中共享一個數(shù)據(jù),則它應(yīng)定義為 A ;要想在同一個類的所有對象中共享一個數(shù)據(jù),則它應(yīng)定義為 B 。A、 靜態(tài)數(shù)據(jù)成員 B、 保護(hù)數(shù)據(jù)成員 C、 全局的數(shù)據(jù)成員10、若類A中的數(shù)據(jù)成員X,被聲明為靜態(tài)成員,則 B 。A、 X只能在類A中使用 B、 X只能在類A及類的派生類中使用 C、 X只能在靜態(tài)函數(shù)中使用 D 類A的所有對象的X值相同 說明:1.試題須用碳素墨水鋼筆集中填在方格內(nèi),答題紙另

8、附并裝訂于后,字跡須工整清晰;2.試題須經(jīng)教研室或系(部)領(lǐng)導(dǎo)認(rèn)真審核并簽署本人代號;3.學(xué)生只須在第一頁試題紙上填寫姓名等東華理工大學(xué)20072008學(xué)年第1 學(xué)期 面向?qū)ο蟪绦蛟O(shè)計(jì) 清考考試試題(A2)卷class Aprivate: static int n1; int n2;public: friend void view( ); A()n1+; int n1=0;int A:n1=0;void view( ) void view( A,a) cout<<n1<<endl; cout<<a.n1<<endl; cout<<n2

9、<<endl; cout<<a.n2<<endl;四、程序填空(共25分)(1)、假如有這樣的類定義:(5分)class studentprivate:int n;public:student(int i=10):n(i);student operator+(int);student student:operator +(int)student temp;temp=(*this);n+;return temp;經(jīng)過這樣的調(diào)用后:student stu1;student stu2;stu2= (stu1+)+;填入:stu1.n= 11 stu2.n= 12

10、三、改錯題。指出下面每段程序中有什么錯誤,并提出改正方法。(每題各5分共15分) (1)#include <iostream.h> int main( ) int x; cin>>x; * int p=x*x; cout<<"p=<<p<<n" cout<<”p=”<<p<<endl; (2)下列程序中包含三個錯誤,找出它們并說明錯誤原因。1class MyClass23 public:4 MyClass(int ini) member = ini; 5. void SetMe9

11、8mber(int m) member = m;6. int GetMember() const return member; 7. private:8. int member;9;10void main()1112 MyClass obj1; MyClass obj1(2)13 MyClass obj2(3); ;14 obj1.me0 mber = 5;* obj1.Member(5);15 MyClass.SetMember(10); obj2.SetMember(10);16(3) 下列類中函數(shù)的聲明與定義是否正確說明:1.試題須用碳素墨水鋼筆集中填在方格內(nèi),答題紙另附并裝訂于后,字跡

12、須工整清晰;2.試題須經(jīng)教研室或系(部)領(lǐng)導(dǎo)認(rèn)真審核并簽署本人代號;3.學(xué)生只須在第一頁試題紙上填寫姓名等東華理工大學(xué)2007 2008學(xué)年第 1 學(xué)期 面向?qū)ο蟪绦蛟O(shè)計(jì) 清考考試試題( A3 )卷if(hour > 23)hour = 0;/輸出提示信息 cout << "n It is now " << hour << ":" << minute; /在這里寫出構(gòu)造函數(shù)的實(shí)現(xiàn)函數(shù)(5分)Clock:clock(int h,int m)Hour=h;Minute=m; /*/文件 Clock.h/類

13、Clock的定義class Clock /在下面寫出類的定義體(10分)Public:Clock (int h,int m);Void inc_and_print_time(void); ; (2)、下面列出了由三個文件main.cpp、Clock.h和Clock.cpp組成的一個程序。文件main.cpp中實(shí)現(xiàn)了主函數(shù);文件Clock.h中定義了類Clock;文件Clock.cpp中實(shí)現(xiàn)了類Clock的成員函數(shù)。題中沒有給出三個文件的完整實(shí)現(xiàn)。仔細(xì)閱讀所給的程序,根據(jù)題意補(bǔ)充文件Clock.h和文件Clock.cpp的內(nèi)容。要求:1、 將成員變量定義為私有的;2、 不要增加題中沒有用到的類成

14、員。3、 將構(gòu)造函數(shù)和成員函數(shù)inc_and_print_time()定義為非內(nèi)聯(lián)函數(shù),其它成員函數(shù)定義為內(nèi)聯(lián)函數(shù)。/*/文件main.cpp#include <iostream.h>#include "Clock.h"void main()Clock c(3,44);/構(gòu)造一個初始時(shí)間為3點(diǎn)44分的時(shí)鐘對象cout << c.present_hour() << endl;/輸出當(dāng)前小時(shí)值cout << c.present_minute() << endl;/輸出當(dāng)前分鐘值c. inc_and_print_time

15、();/時(shí)間增加一分鐘,然后輸出/*/文件 Clock.cppinclude <iostream.h>#include "Clock.h"void Clock:inc_and_print_time(void) minute+; / 分鐘值加1 if (minute > 59) minute -= 60; hour+; 說明:1.試題須用碳素墨水鋼筆集中填在方格內(nèi),答題紙另附并裝訂于后,字跡須工整清晰;2.試題須經(jīng)教研室或系(部)領(lǐng)導(dǎo)認(rèn)真審核并簽署本人代號;3.學(xué)生只須在第一頁試題紙上填寫姓名等東華理工大學(xué)2007 2008學(xué)年第 1 學(xué)期 面向?qū)ο蟪绦蛟O(shè)計(jì)

16、 清考 考試試題( A4 )卷void main( ) postgraduate zh(“zhang”,21,m,”computer”); zh.print( );Class threeDint x ; int y; int z;Public: threeD operator + (threeD t );threeD operator - (threeD t );threeD operator +threeD:operatorthis->x+=t.x; this->y+=t.y; this->z+=t.z;Return *this1Class pointPublic:(3)、

17、為了完成main函數(shù)的正確調(diào)用,請完成程序。#include <iostream.h> #include <string.h> class student protected: char name20; char sex; int age; public: void print( ) cout<<“name:”<<name; cout<<“,age:”<<age; cout<<“,sex:”<<sex<<endl; ;class postgraduate: public student char profession20; public: postgraduate( char *n,int a,char s,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

提交評論