00410月《面向?qū)ο蟪绦蛟O(shè)計》試題-及答案_第1頁
00410月《面向?qū)ο蟪绦蛟O(shè)計》試題-及答案_第2頁
00410月《面向?qū)ο蟪绦蛟O(shè)計》試題-及答案_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 PAGE PAGE 9一、單選2004 10 月試題及答案面向?qū)ο蟪绦蛟O(shè)計試題課程代碼:023281、程序設(shè)計中,首先在問題域中識別出若干個()A.函數(shù) B.類 C.文件 D.過程2、定義類模板用關(guān)鍵字() A.constB.newC.delete3、運算結(jié)果類型相同的()A. 9.0/2.0 9.0/2B. 9/2.0 9/2C. 9.0/2 9/2D. 9/2 9.0/2.04、已知f1 f2同一類兩個成員函數(shù),但 f1 不能調(diào)用f2,說明()a.f1 f2 都是靜態(tài)函數(shù)b.f1 是靜態(tài),f2 不是c.f1 不是,f2 是靜態(tài)d.f1 f2 都不是靜態(tài)函數(shù)5、調(diào)用一成員函數(shù)時,使用動態(tài)聯(lián)

2、編的情況是()A.通過對象調(diào)用一虛函數(shù)通過指針或引用調(diào)用一虛函數(shù) C.通過對象調(diào)用靜態(tài)函數(shù)通過指針或引用調(diào)用一靜態(tài)函6A(int aa=1,int bb=0)a=aa;b=bb; 則執(zhí)行A x.a x.b 值分別是:()A.1,0B.1,4C.4,0D.4,17、在派生類中能直接訪問基類的()A.公有成員,私有成員B.保護(hù)成員,私有成員C.不可訪問成員,私有成員D.公有成員,保護(hù)成員8、不具訪問權(quán)限屬性的是:()A.非類成員B.類成員C.數(shù)據(jù)成員函數(shù)成員9、類定義中private,protected,public出現(xiàn)次數(shù)為()A.任意多次B.至多一次C.public 至少一次D.至少一次10、

3、鼓勵程序員將()A.數(shù)據(jù)操作分別封裝 B.不同類型數(shù)據(jù)封裝 C.D.不同作用操作封裝在一起答案:BDABBCDAAC二、填空、( )malloctemplate 之后尖括號的類型參數(shù)冠以保留字( )3、在 IOS 類中定義的用于格式控制的枚舉變量中十、八、十六進(jìn)制是 dec,oct,( )4、如果重載了運算符,則相應(yīng)運算函數(shù)名是( )static 修飾的數(shù)據(jù)成員為該類的所有對象( )6、為了實現(xiàn)多態(tài)性,派生類需要重新定義基類中的( )7、編譯時多態(tài)性通過()函數(shù)實現(xiàn)。8、派生類中實現(xiàn)基類成員初始化,需由派生類的構(gòu)造函數(shù)調(diào)用()來完成。、中訪問指令所指對象的成員使用運算符()10、重載函數(shù)在參數(shù)

4、類型或參數(shù)個數(shù)上不同但( )相同。答案:1new2class3hex4operator+5 共享 6 同名函數(shù)7 重載函數(shù)重載和運算符重載)8 參數(shù)表 9 .10 函數(shù)名三、改錯1、類定義有錯,正確結(jié)果為 58i#include #include class complexdouble real; double imag;public:complex(double r=0.0,double i=0.0):real(r),imag(i); void show()cout=0?+:-)fabs(imag)i;friend complex&operator +=(complexc1,complexc

5、2)這里應(yīng)改為:friend complex&operator +=(complex& c1,complex& c2)c1.real+=c2.real; c1.imag+=c2.imag; return c1;void main()complex c(3,5); c+=complex(2,3); c.show();2、改一處錯#include class shapepublic:int area()return 0;class rectangle:public shapepublic:int a,b;void setlength(int x,int y)a=x;b=y; int area()r

6、eturn a*b;void main() rectangle r; r.setlength(3,5);shape *s=r; 應(yīng)改為:shape *s=&r;cout r.area()endl; cout s.area()endl; 3、改一處錯#include class CU enumint,floattype; union floadt f共用體在這里沒有定義變量就使用了。public:CU(int x):type(int), i else coutfvoid main()CU fCU(floadt)5.6);CU iCU(8)fCU.print();coutendl; iCU.pri

7、nt(); 4、改一處錯class Aint a,b;public:A(int aa=0,int bb)a=aa;b=bb;默認(rèn)參數(shù)值應(yīng)該從右向左定義。5、找一處錯class Location int x,y;protected:int SetZero(int zeroX,int XeroY) private:int length,height; public:void Locattion (int initX,int initY); 此處不應(yīng)該有返回類型int getx(); int gety();四、程序填空1、使輸出結(jié)果為:5 4 3 2 10 5.5 4.4 3.3 2.2 1.1#i

8、nclude templatevoid f( T a,int n )T t;for (int i=0;it=ai;ai=an-1-i;an-1-i=t;void mainint a5=1,2,3,4,5;doublie d6=1.1,2.2,3.3,4.4,5.5 f(a,5);f(d,6);for(int i=0;i5;i+) cout i ;cout endl;for (i=0;i6;i+) cout i ;cout endl;2、使類定義完整class line; class box private:int color; int int lowx,lowy; public:friend

9、int same_color(line l, box b); void set_color(int c)color =c;void define_box(int x1,int y1,int x2,int y2)upx=x1;upy=y1;lowx=x2;lowy=y2;class line private:int color;int startx,starty; int endx,endy;public:friend int same_color(line l,box b); void set_color(int C)color=c;void define_line(int x1,int y1

10、,int x2,int y2)startx=x1;starty=y1;endx=x2;endy=y2;int same_color(line l,box b)if (l.color=b.color) return l; return 0;3、A 為抽象類,輸出為:this is class B printingthis is class C printing #include class Apublic :virtule void printMe()=0 ; class B:public Apublic:void printMe()coutthis is class B printingend

11、l;class C:public Bvoid printMe()coutthis is class C printingendls;void print( A &a) a.printMe();void B b;C c;print(b);print(c);4、使類完整class Aint * a; int n;public:A():a(0),n(0)A(int nn)n=nn/用 NN 初始化 Na=new intn/ 用A N 的動態(tài)數(shù)組空間;5、使類完整class base protected:int a; public:base()a=0; base(int i)a=ibase(base&

12、b)a=b.a; class derived:public baseprivate:int d; public:derived()d=0;derived(int i,int j): base(i)d=j; derived(derived&b): base(b)d=b.d;五、程序分析,給出輸出結(jié)果1.#include template void f(T *a,int n)int k;T t;for (int i=0;ik=i;for (int j=i+1;jaj)k=j; t=ai;ai=ak;ak=t;;void main()double d5=12.3,4.5,-23.4,-90.4,0;

13、char a5=B,F,A,X,E; f(a,5);f(d,5);for (int i=0;i5;i+) couti iendl;-90.4A-23.4B0E4.5F12.3X2.#include void main()coutsetprecision(4)123456endl123456.567;1234561.235e+0053.#include class goodsprivate:static int totalweight; int weight;public:goods(int w) weight=w; totalweight+=weight;goods(goods&gd) wei

14、ght=gd.weight; totalweight+=weight;goods()totalweight-=weight;static int gettotal() return totalweight;;int goods:totalweight=0; void main()goods g1(50);coutgoods:gettotal()endl; goods g2(100);coutendl;501504.#include class Apublic:A(int i=0)a=i;void print()cout,; private:int a; class B:public A pub

15、lic:B()b1=b2=0;B(int i)b1=i;b2=0;B(int i,int j,int k):A(i),b1(j),b2(k)void print()A :print();cout,endl; private:int b1,b2;void main()B d1,d2(5),d3(4,5,6);d1.print();d2.print();d3.print();0,0,00,5,04,5,65.#include class Apublic:virtual void pr()cout1endl;class B:public Avoid pr()cout2endl;void p1(A&a)a.pr(); void p2(A a)a.pr();void B b; p1(b);p2(b);216.#include class shownumtype pu

溫馨提示

  • 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

提交評論