c類和對象練習題_第1頁
c類和對象練習題_第2頁
c類和對象練習題_第3頁
c類和對象練習題_第4頁
c類和對象練習題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——c類和對象練習題

第8章類與對象8.1知識要點

1.把握類與對象的概念和定義方法,把握類成員的訪問屬性。2.把握構造函數(shù)的概念、定義方法和使用方法。3.把握析構函數(shù)的概念、定義方法和使用方法。

4.把握拷貝構造函數(shù)的概念、定義方法和使用方法。5.把握包含對象成員的類構造函數(shù)的定義方法。6.把握靜態(tài)成員的概念、定義方法、作用和特點。7.把握友元的概念、定義方法、作用和特點。8.把握類模板的定義格式與使用方法。8.2典型例題分析與解答

例題1:以下有關類的說法不正確的是()。A.對象是類的一個實例

B.任何一個對象只能屬于一個具體的類C.一個類只能有一個對象

D.類與對象的關系和數(shù)據(jù)類型與變量的關系相像答案:C

分析:對象是類的一個實例,類與對象的關系和數(shù)據(jù)與變量的關系相像,所以一個類可以有多個對象。

例題2:下面()項是對構造函數(shù)和析構函數(shù)的正確定義。A.voidX::X(),voidX::~X()B.X::X(參數(shù)),X::~X()

C.X::X(參數(shù)),X::~X(參數(shù))

D.voidX::X(參數(shù)),voidX::~X(參數(shù))答案:B

分析構造函數(shù)無返回類型、可帶參數(shù)、可重載;析構函數(shù)無返回類型、不可帶參數(shù)、不可重載。

例題3:()的功能是對象進行初始化。

A.析構函數(shù)B.數(shù)據(jù)成員C.構造函數(shù)D.靜態(tài)成員函數(shù)答案:C分析:當一個對象定義時,C++編譯系統(tǒng)自動調(diào)用構造函數(shù)建立該對象并進行初始化;當一個對象的生命周期終止時,C++編譯系統(tǒng)自動調(diào)用析構函數(shù)注銷該對象并進行善后工作;

例題4:以下表達方式正確的是()。A.classP{B.classP{public:public:intx=15;intx;

voidshow(){coutclassone{inta1,a2;public:

one(intx1=0,x2=0);};

voidmain(){

onedata(2,3);

coutclassone

{inta1,a2;public:

one(intx1=0,intx2=0){a1=x1;a2=x2;}intgeta1(){returna1;}intgeta2(){returna2;}};

voidmain()

{onedata(2,3);

coutclassAmplifier{floatinvol,outvol;public:

Amplifier(floatvin,floatvout){invol=vin;outvol=vout;}floatgain();};

Amplifier::floatgain(){returnoutvol/invol;}voidmain()

{Amplifieramp(5.0,10.0);

coutclassAmplifier

{floatinvol,outvol;public:

Amplifier(floatvin,floatvout){invol=vin;outvol=vout;}floatgain();};

floatAmplifier::gain(){returnoutvol/invol;}voidmain()

{Amplifieramp(5.0,10.0);

coutclasspoint{intx,y;public:

point(inta,intb){x=a;y=b;

cout

intCsample::k=0;

Csample::Csample(){i=0;k++;}

voidCsample::Display(){coutclassBox

{intx,y,z;intv,s;public:

voidinit(intx1=0,inty1=0,intz1=0){x=x1;y=y1;z=z1;}voidvolue(){v=x*y*z;}

voidarea(){s=2*(x*y+x*z+y*z);}voidshow()

{coutclassCounter{intn;public:

Counter(inti=0){n=i;}

voidinit_Counter(intm){n=m;}voidin_Counter(){n++;}voidde_Counter(){n--;}

intget_Counter(){returnn;}voidshow(){coutclassrectangle{intlen,wid;public:

rectangle(inti=0,intj=0){len=i;wid=j;}

friendintarea(rectangletemp){ints=temp.len*temp.wid;returns;}

friendfun(rectangletemp){intp=2*(temp.len+temp.wid);returnp;}};

voidmain()

{rectanglea(10,20);

coutclassfac{intp;public:

fac(){p=1;}fac(intj){p=1;

if(j>=0)

for(inti=1;i>n;faca(n);

coutclassCdate

{intyear,month,day;inty1,m1,d1;public:

voidsetdate(inty,intm,intd){year=y;month=m;day=d;}voidshow()

{cout>y>>m>>d1;

d.setdate(y,m,d1);//加一天d.setdate(y,m,d1);//再加一天d.datetwo();d.show();}

8.4補充習題1.選擇題

(1)以下有關類的說法不正確的是。A.類是一種用戶自定義的數(shù)據(jù)類型

B.只有類中的成員函數(shù)或類的友元函數(shù)才能存取類中的私有數(shù)據(jù)

C.在類中(用class定義),假使不作特別說明,所有的數(shù)據(jù)均為私有數(shù)據(jù)

D.在類中(用class定義),假使不作特別說明,所有的成員函數(shù)均為公有數(shù)據(jù)(2)以下有關析構函數(shù)的表達不正確的是()

A.在一個類只能定義一個析構函數(shù)B.析構函數(shù)和構造函數(shù)一樣可以有形參C.析構函數(shù)不允許用返回值D.析構函數(shù)名前必需冠有符號“~〞(3)以下有關類與結構體的表達不正確的是()A.結構體中只包含數(shù)據(jù);類中封裝了數(shù)據(jù)和操作

B.結構體的成員對外界尋常是開放的;類的成員可以被隱蔽C.用struct不能聲明一個類型名;而class可以聲明一個類名D.結構體成員默認為public;類成員默認為private(4)以下表達中不正確的是()

A.一個類的所有對象都有各自的數(shù)據(jù)成員,它們共享函數(shù)成員B.一個類中可以有多個同名的成員函數(shù)

C.一個類中可以有多個構造函數(shù)、多個析構函數(shù)

D.在一個類中可以聲明另一個類的對象作為它的數(shù)據(jù)成員(5)以下不屬于構造函數(shù)特征的是()

A.構造函數(shù)名與類名一致B.構造函數(shù)可以重載

C.構造函數(shù)可以設置默認參數(shù)D.構造函數(shù)必需指定函數(shù)類型

(6)以下有關類和對象的表達不正確的是()A.任何一個對象都歸屬于一個具體的類

B.類與對象的關系和數(shù)據(jù)類型與變量的關系相像C.類的數(shù)據(jù)成員不允許是另一個類的對象D.一個類可以被實例化成多個對象(7)設有定義:classperson{intnum;

charname[10];public:

voidinit(intn,char*m);...};

personstd[30];

則以下表達不正確的是()

A.std是一個含有30個元素的對象數(shù)組

B.std數(shù)組中的每一個元素都是person類的對象

C.std數(shù)組中的每一個元素都有自己的私有變量num和nameD.std數(shù)組中的每一個元素都有各自的成員函數(shù)init(8)設有以下類的定義:classEx{intx;public:

voidsetx(intt=0);};

若在類外定義成員函數(shù)setx(),以下定義形式中正確的是()A.voidsetx(intt){...}B.voidEx::setx(intt){...}C.Ex::voidsetx(intt){...}D.voidEx::setx(){...}

(9)以下關于靜態(tài)成員變量的表達不正確的是()A.靜態(tài)成員變量為類的所有對象所公有B.靜態(tài)成員變量可以在類內(nèi)任何位置上聲明C.靜態(tài)成

溫馨提示

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

評論

0/150

提交評論