面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷.doc_第1頁
面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷.doc_第2頁
面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷.doc_第3頁
面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷.doc_第4頁
面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷.doc_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷一一. 單選題(15)。1. 關(guān)于構(gòu)造的敘述_正確:A. 最先構(gòu)造虛基類B. 最先構(gòu)造基類C. 最先構(gòu)造派生類的對(duì)象成員D. 都不對(duì)2. 關(guān)于靜態(tài)數(shù)據(jù)成員的敘述_正確:A. 公有的可在類體外初始化B. 私有的不能在類體外初始化C. 私有和保護(hù)的不能在類體外初始化 D. 都可以且必須在體外初始化3. 若派生類函數(shù)不是基類的友元,關(guān)于該函數(shù)訪問基類成員_正確:A. 公有的可被派生類函數(shù)訪問B. 都可以被派生類函數(shù)訪問C. 公有和保護(hù)的可被派生類函數(shù)訪問D. 都不對(duì)4. 關(guān)于函數(shù)的所有缺省參數(shù)的敘述_正確:A. 只能出現(xiàn)在參數(shù)表的最左邊B. 只能出現(xiàn)在參數(shù)表的最右邊C. 必須用非缺省的參數(shù)隔開D. 都不對(duì)5. 使用friend、virtual、static說明函數(shù)的敘述_正確:A. 必須同時(shí)使用三個(gè)B. 只能同時(shí)用其中兩個(gè)C只能獨(dú)立單個(gè)地使用D. 都不對(duì)二. 指出各類的成員及其存取屬性(20) 。 三. 指出main中每行的輸出結(jié)果(20) 。#include struct AA( ) coutA;struct BB( ) coutB;struct C: AC( ) coutC;struct D: virtual B, CD( ) coutD;struct E: A C c; E( ): c( ) coutE;struct F: virtual B, C, D, EF( ) coutF;void main( ) A a; coutn; B b; coutn; C c; coutn; D d; coutn; E e; coutn; F f; coutn;四. 指出以下程序的語法錯(cuò)誤及其原因(15) 。class A static int a=0;protected: int b;public: int c; A(int); operator int( ); a(1, 2);class B: A B(int); virtual int d; int e;public: A:b; friend int operator =(B); static B(int, int); b=5;class C: Bpublic: int operator+(double);int main( )int *A:*p, i; i=a.a; i=A(4);i=b.c;p=&A:c;i=b;return ;五. 指出main變量i在每條賦值語句執(zhí)行后的值(15) 。int x=2, y=x+30;struct A static int x; int y;public: operator int( ) return x-y; A operator +(int) return A(x+, y+); A(int x=:x+2, int y=:y+3) A:x=x; A:y=y; int &h(int &x);int &A:h(int &x) for(int y=1; y!=1| x200) x-=21; y-=2; return x-=10;int A:x=23;void main( ) A a(54, 3), b(65), c; int i, &z=i, A:*p=&A:y; z=b.x; i=a.x; i=c.*p; i=a+; i=:x+c.y; i=a+b; b.h(i)=7;六. 為了沒有誤差地表示分?jǐn)?shù),定義類FRACTION來表示分?jǐn)?shù),請(qǐng)編程實(shí)現(xiàn)分?jǐn)?shù)類中的除cmd外的所有函數(shù)(15)。class FRACTION /對(duì)于,numerator存分子6,denominator存分母7 int numerator, denominator; static int cmd(int x, int y);/求整數(shù)x,y的最大公約數(shù)public: int operator(const FRACTION&)const;/大于比較,例 FRACTION(int num, int den=1);/num、den各為分子和分母 FRACTION operator*( )const;/分?jǐn)?shù)約簡,*= FRACTION operator+(const FRACTION&)const;/加法,+= FRACTION operator*(const FRACTION&)const;/乘法,*=;int FRACTION:cmd(int x, int y) int r; if(xy) r=x; x=y; y=r; while(y!=0) y=x%(r=y); x=r; return x;面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷二一單項(xiàng)選擇題 (從下列各題四個(gè)備選答案選出一個(gè)正確答案,并將其代號(hào)填在題干前的括號(hào)內(nèi)。答案選錯(cuò)或未作選擇者,該題不得分。每小題1分,共10分)( )1以下有關(guān)析構(gòu)函數(shù)的敘述,選擇正確的填入括號(hào)內(nèi)。A. 可以進(jìn)行重載可以定義為虛函數(shù)B. 不能進(jìn)行重載可以定義為虛函數(shù)C. 可以進(jìn)行重載不能定義為虛函數(shù)D. 不能進(jìn)行重載不能定義為虛函數(shù)( )2以下有關(guān)函數(shù)缺省參數(shù)的出現(xiàn)位置,選擇正確的敘述填入括號(hào)內(nèi)。A. 必須全部出現(xiàn)在函數(shù)參數(shù)表的左部B. 必須全部出現(xiàn)在函數(shù)參數(shù)表的右部C. 必須全部出現(xiàn)在函數(shù)參數(shù)表的中間D. 都不對(duì)( )3關(guān)于兩個(gè)同名函數(shù)重載的敘述,選擇最為正確的填入括號(hào)內(nèi)。A. 兩個(gè)函數(shù)的參數(shù)個(gè)數(shù)不同B. 兩個(gè)函數(shù)對(duì)應(yīng)的參數(shù)類型不同C. 兩個(gè)函數(shù)的參數(shù)個(gè)數(shù)不同或?qū)?yīng)的參數(shù)類型不同D. 都不對(duì)( )4關(guān)于inline保留字的用途,選擇正確的敘述填入括號(hào)內(nèi)。A. 只能用于定義成員函數(shù)B. 只能用于定義非成員函數(shù)C. 可以定義成員函數(shù)及非成員函數(shù)D. 都不對(duì)( )5關(guān)于類的構(gòu)造函數(shù)的定義位置,將最為正確的敘述填入括號(hào)內(nèi)。A. 只能在private下定義B. 只能在protected下定義C. 只能在public下定義D. 定義位置沒有限制( )6如下修飾類體中函數(shù)的返回類型,將正確的用法填入括號(hào)內(nèi)。A. 同時(shí)使用static和friendB. 同時(shí)使用static和virtualC. 同時(shí)使用friend和virtualD. 不同時(shí)使用上述三個(gè)保留字中的任意兩個(gè)( )7在如下關(guān)于繼承的敘述中,選擇正確的填入括號(hào)內(nèi)。A. 私有繼承用于實(shí)現(xiàn)類之間的ISA關(guān)系B. 保護(hù)繼承用于實(shí)現(xiàn)類之間的ISA關(guān)系C. 公有繼承用于實(shí)現(xiàn)類之間的ISA關(guān)系D. 都不對(duì)( )8對(duì)于用union定義的類A,選擇正確的敘述填入括號(hào)內(nèi)。A. 類A可以作為某個(gè)類的基類B. 類A可以作為某個(gè)類的派生類C. 類A既不能作基類又不能作派生類D. 類A既可以作基類又可以作派生類( )9有關(guān)在類中聲明友元函數(shù)的敘述,將正確的答案填入括號(hào)內(nèi)。A. 只能在private下聲明B. 只能在protected下聲明C. 只能在public下聲明D. 聲明位置沒有限制( )10在構(gòu)造派生類A的對(duì)象時(shí),選擇正確的敘述填入括號(hào)內(nèi)。A. 最先構(gòu)造派生類A的基類B. 最先構(gòu)造派生類A的虛基類C. 最先構(gòu)造派生類A的數(shù)據(jù)成員對(duì)象D. 都不對(duì)二多項(xiàng)選擇題(從下列各題四個(gè)備選答案選出二至四個(gè)正確答案,并將其代號(hào)填在題干前的括號(hào)內(nèi)。答案選錯(cuò)或未選全者,該題不得分。每小題2分,共10分)( )11將符號(hào)為分隔符的編號(hào)填入括號(hào)內(nèi)。A. m B. + C. D. = ( )12將用于定義類的保留字的編號(hào)填入括號(hào)內(nèi)。A. class B. struct C. intD. union ( )13將用于釋放p=new int8的內(nèi)存的編號(hào)填入括號(hào)內(nèi)。A. free (p)B. delete pC. delete p D. sizeof p( )14將派生類成員函數(shù)可訪問的基類成員編號(hào)填入括號(hào)內(nèi)。A. privateB. protectedC. publicD. 所有成員( )15將不能重載的運(yùn)算符函數(shù)的編號(hào)填入括號(hào)內(nèi)。A. ? :B. :C. %D. 三填空題(閱讀以下程序并填空。每題1分,共10分)class Aclass C: A int a;int g;protected:protected: int b; int h;public:public: int c;int c;a; c;class B: protected Astruct D: B, C int d;int j;protected:protected: int e;B:b;public:d; A:c;void main(void)int f;int x;b;16對(duì)于main,對(duì)象a的私有成員為_。17對(duì)于main,對(duì)象a的保護(hù)成員為_。18對(duì)于main,對(duì)象a的公有成員為_。19對(duì)于main,對(duì)象b的私有成員為_。20對(duì)于main,對(duì)象b的保護(hù)成員為_。21對(duì)于main,對(duì)象c的保護(hù)成員為_。22對(duì)于main,對(duì)象c的公有成員為_。23對(duì)于main,對(duì)象d的保護(hù)成員為_。24對(duì)于main,對(duì)象d的公有成員為_。25main應(yīng)使用語句x=_取對(duì)象d的基類C的成員c的值。四名詞解釋(每小題3分,共15分)26標(biāo)識(shí)符:27重載:28異常:29類型強(qiáng)制:30抽象類:五判斷改錯(cuò)題(閱讀以下程序并判斷各題是否正確,對(duì)正確的就在其題號(hào)前打;錯(cuò)誤的在其題號(hào)前打,并在題干后的括號(hào)內(nèi)更正。每小題3分,共15分)#include struct AA( ) coutA;struct BB( ) coutB;struct C: AC( ) coutC;struct D: virtual B, CD( ) coutD;struct E: A C c;E( ): c( ) coutE;struct F: virtual B, C, D, EF( ) coutF;void main( ) /*/ ( ) 31如main定義A a,則輸出為A。( ) ( ) 32如main定義C c,則輸出為BAC。( ) ( ) 33如main定義D d,則輸出為BACD。( ) ( ) 34如main定義E e,則輸出為AACE。 ( ) ( ) 35如main定義F f,則輸出為BCDEF。( )六計(jì)算題(閱讀如下程序并計(jì)算執(zhí)行結(jié)果。共20分)int x=2, y=x+30;struct A static int x; int y;public: operator int( ) return x+y; A operator +(int) return A(x+, y+); A(int x=:x+2, int y=:y+3) A:x=x; A:y=y; int &h(int &x);int &A:h(int &x) for(int y=1; y!=1 | x200) x-=21; y-=2; return x-=10;int A:x=23;void main( )A a(54, 3), b(65), c;int i, &z=i, A:*p=&A:y; i=b.x;/ z=a.x;/ i=c.*p;/ i=a+;/ i=:x+c.y;/ i=a+b;/ b.h(i)=7;/36語句執(zhí)行結(jié)束后i= 。(2分) 37語句執(zhí)行結(jié)束后i= 。(3分) 38語句執(zhí)行結(jié)束后i= 。(3分) 39語句執(zhí)行結(jié)束后i= 。(3分) 40語句執(zhí)行結(jié)束后i= 。(3分) 41語句執(zhí)行結(jié)束后i= 。(3分) 42語句執(zhí)行結(jié)束后i= 。(3分)七設(shè)計(jì)題(20分) 43如下復(fù)數(shù)類說明了五個(gè)成員函數(shù),請(qǐng)?jiān)敿?xì)定義這五個(gè)函數(shù)的函數(shù)體。(每個(gè)定義4分)class COMPLEX /real, imag分別為復(fù)數(shù)的實(shí)部和虛部,double real, imag; /若x=3+5i,則x.real=3,x.imag=5public:COMPLEX(double r=0, double i=0);COMPLEX& operator += (const COMPLEX &c);COMPLEX& operator + ( ); /復(fù)數(shù)的實(shí)部和虛部加1COMPLEX operator ( ) const;/將實(shí)部和虛部的符號(hào)求反COMPLEX operator + (const COMPLEX &c) const;面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷一答案一解:1. A2. D3. C4. B5. C二解:各類的成員及其存取屬性如下。 三解:main中每行的輸出結(jié)果見如下注釋。 A a; coutn;/輸出A B b; coutn;/輸出B C c; coutn;/輸出AC D d; coutn;/輸出BACD E e; coutn;/輸出AACE F f; cout(const FRACTION&f)const double d= denominator *f.denominator; return (numerator*f.denominator/d denominator*f.numerator/d);FRACTION FRACTION:operator*( )const int c=cmd(numerator, denominator); return FRACTION(numerator/c, denominator/c);FRACTION FRACTION:operator+(const FRACTION&f)const int n= numerator*f.denominator+denominator*f.numerator; int d= denominator*f.denominator; return *FRACTION(n, d);/對(duì)運(yùn)算結(jié)果進(jìn)行約分運(yùn)算FRACTION FRACTION:operator*(const FRACTION&f)const return *FRACTION(numerator*f.numerator, denominator*f.denominator); /約分面向?qū)ο蟪绦蛟O(shè)計(jì)模擬試卷二答案一解:單項(xiàng)選擇題答案1. B2. B3. C4. C5. D6. D7. C8. C9. D 10.B二解:多項(xiàng)選擇題答案11.BCD12.ABD13.ABC14.BC15.AB三解:填空題答案16. a.a17.a.b18.a.c19.b.d20.b.b, b.e21.c.h22.c.c23.d.b, d.e, d.h24.d.B:c, d.f, d.C:c, d.j25. d.C:c四解:名詞解釋答案26標(biāo)識(shí)符:標(biāo)識(shí)符是程序變量、常量、函數(shù)和類型的名字,通常是由字母或下劃線開始的字母、數(shù)字或下劃線等符號(hào)序列構(gòu)成。(要點(diǎn):僅回答名字或構(gòu)成得2分,全答得3分)27重載:重載是指用一個(gè)標(biāo)識(shí)符或操作符命名多個(gè)函數(shù),用于完成多個(gè)不同類型的操作。(要點(diǎn):沒有回答多個(gè)扣1分,沒有回答操作符可不扣分)28異常:異常是指函數(shù)執(zhí)行出現(xiàn)了不正常的現(xiàn)象、或運(yùn)行結(jié)果出現(xiàn)了無法定義的情況而必須中斷程序執(zhí)行的狀態(tài)。(要點(diǎn):未回答不正(平)常、結(jié)果無法定義或中斷執(zhí)行,可扣1分)29類型強(qiáng)制:類型強(qiáng)制是指將一種類型映射或轉(zhuǎn)換為另一種類型。(要點(diǎn):沒有映射或轉(zhuǎn)換扣1分,沒有涉及兩種類型扣1分)30抽象類:抽象類是指定義了純虛函數(shù)、或繼承了純虛函數(shù)但沒有定義函數(shù)體的類?;蛘叱?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論