日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第四章类和对象 习题答案

發(fā)布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第四章类和对象 习题答案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一.選擇題1.能提供封裝的C++的下列關(guān)鍵字是(C)A.whileB. unionC. classD. for2.在下面所列項中,不是面向?qū)ο蟮奶攸c的是(C)A. 多面性B. 抽象性和封裝性C. 多線程和多任務(wù)D. 繼承性3.下面選項中,對A類的構(gòu)函數(shù)的正確定義是(A)A. A::~A( )B. void ~A::A(參數(shù))C.~A::A(參數(shù))D. void ~A::A( )4.下面有關(guān)構(gòu)造函數(shù)的不正確說法是(B)A. 構(gòu)造函數(shù)可以用來實現(xiàn)所有成員變量的初始化B. 構(gòu)造函數(shù)不是類的成員函數(shù)C. 當生成類的實例時,自動調(diào)用構(gòu)造函數(shù)進行初始化D. 構(gòu)造函數(shù)用來分配對象所需的內(nèi)存5.有關(guān)析構(gòu)函數(shù)的不正確說法是(C)A. 析構(gòu)函數(shù)在對象生存期結(jié)束時自動被調(diào)用B. 析構(gòu)函數(shù)不得指定參數(shù)C. 定義析構(gòu)函數(shù)時,可以指定返回類型為voidD. 析構(gòu)函數(shù)名與類名相同6.下面有關(guān)類說法錯誤的是(C)A. 一個類可以有多個析構(gòu)函數(shù)B. 一個類只能有一個析構(gòu)函數(shù)C. 可以給析構(gòu)函數(shù)指定參數(shù)D. 一個類中可以說明具有類類型的數(shù)據(jù)成員7.下面有關(guān)構(gòu)造函數(shù)和new運算符關(guān)系的正確說法是(D)A. new運算符不調(diào)用構(gòu)造函數(shù)B. 構(gòu)造函數(shù)一定調(diào)用new運算符C. 當生成類的實例時,先調(diào)用new運算符,然后構(gòu)造函數(shù)進行初始化D. 當用new運算符動態(tài)產(chǎn)生類的對象時,new運算符也自動調(diào)用構(gòu)造函數(shù)8簡單成員函數(shù)的聲明一般不含關(guān)鍵字(B)A. doubleB. staticC. floatD. int9.已知:print( )函數(shù)是一個類的常成員函數(shù),它無返回值,下面表示正確的項是(A)A.void print( )constB. const void print( )C. void const print( )D. void print(const)10.下列各類函數(shù)中,不是類的成員函數(shù)的是(C)A.構(gòu)造函數(shù)B. 析構(gòu)函數(shù)C. 友元函數(shù)D. 復制初始化構(gòu)造函數(shù)11.對友元函數(shù)的描述正確的是(A)A.一個類的友元函數(shù)是在該類中說明的一個函數(shù)B.一個類的友元函數(shù)是該類的一個成員C.友元函數(shù)只允許訪問該類對象的私有成員D.友元函數(shù)不允許訪問該類的私有成員12.保證編譯器正確調(diào)用成員函數(shù)的規(guī)則是(D)A.賦值兼容B. 繼承C. 作用域D. 支配13.下面敘述不正確的是(A)A.基類的保護成員在派生類中仍然是保護的B.基類的保護成員在公有派生類中仍然是保護的C.基類的保護成員在私有派生類中是私有的D.對基類成員的訪問必須是無二義性的 14.下面敘述不正確的是(C) A.成員的訪問能力在私有派生類中和公有派生類中是不同的B.基類的私有成員在公有派生類中不可訪問C.賦值兼容規(guī)則不適用于多重繼承的組合D.公有基類成員在保護派生中是保護的15.下面敘述不正確的是(D)A.派生類可以有自己的構(gòu)造函數(shù)B. 派生類繼承基類的構(gòu)造函數(shù)C. 派生類繼承基類的析構(gòu)函數(shù)D. 派生類只能繼承基類的一個構(gòu)造函數(shù)16.下面有關(guān)類模板敘述不正確的選項是(A)A.不可以通過一個類來派生類模板B. 可以從一個類模板派生出一個新的類模板C. 類模板支持單一繼承D. 類模板可以有多個參數(shù)17.下面有關(guān)類模版敘述不正確的是(B)A.可以使用派生B. 可以使用多個析構(gòu)函數(shù)C. 可以又多個析構(gòu)函數(shù)D. 可以有多個參數(shù)18.在構(gòu)造向量時,不正確的敘述是(D)A.可以使用基本數(shù)據(jù)類型B. 可以使用類C. 可以使用向量D. 不可以使用容器19.對一個向量來說,不正確的敘述是(D)A.向量的長度可變B.向量有返回無需再次分配內(nèi)存就能容納對象個數(shù)的成員函數(shù)capacity( )C.如果數(shù)量已滿,當增加一個元素時,向量成員函數(shù)capacity( )的長度自動增加D.如果數(shù)量已滿,當需要增加一個元素是capacity( )的長度每次自動增加一個20.要是一個類成為抽象類,這個累應(yīng)具有的條件是(A)A.至少有一個純虛函數(shù)B. 至少有一個虛函數(shù)C. 只含有一個純虛函數(shù)D. 只含有一個虛函數(shù)21.下面是基類中的成員函數(shù)形式,其中純虛函數(shù)的是(B)A.virtual void f (void)B. virtual void f (void )=0C. void f (void)=0D. virtual void f (void){} 二.程序填空AB第1題:#includeUsing namespace std;Class point{int x,y;Publice ;Point( ):x(0),y(0){}Point(int a):x(a){y=0;}Point(int a,int b):x(a),y(b){};Int getx( ) {return x;}Int getx( ) {return y;} }Void main( ){/*******************SPACE*******************/ /*******************SPACE*******************/ 【?】For(int i=0; i<3;i++)Cout<<"b["<For(int i=0; i<3;i++)Cout<<"c["<}答案1.point a[3];2.point b[3]={1,2,3};3.point c[3]={point(1,2),point(3,4),point(5,6)};B第2題:...Class point{ private;Int x,y;Publice;Point(int a,int b) {x=a; y=b;cout<<”point...”<Void showxy( ){cout<<”x=”< {Private;Int h, w public;Rect angle(int a,int b,int h, int w):point (a,b)//構(gòu)造函//數(shù)初始化列表{H=h;W=w ; cout<<”rectangle...”<V oid show( ) {cout<<”H=”<};V oid main( ){Rectangle r1(3,4,5,6);//派生對象調(diào)用基類的成員函數(shù)showxy( )/*******************SPACE*******************/ 【?】//派生對象調(diào)用基類的成員函數(shù)show( )/*******************SPACE*******************/ 【?】}1.r1.Showxy();2.r1.Show();A第3題:#includeUsing namespace std;Class A{int n;Public;A(int i):n(i){ }Int add(int a){return n+a;}};V oid main( ){/*******************SPACE*******************/ 【?】//指向類A的成員函數(shù)指針A x(10);P=A::add;Cout<<(x.*p)(15)<A*q=&;//類A對象x的指針/*******************SPACE*******************/ Cout<<【?】<}答案1.int (A::*p)(int);2.(q->*p)(15)B第3題:#includeUsing namespace std;Class point{Float x,y;Publice;Void display( )Void setxy(float a,float b);Float getx( );Float getx( );};//定義成員函數(shù)void display( )/*******************SPACE*******************/ 【?】{ Cout<}Void point::setxy(float a,float b){ x=a;y=b }Float point::getx( ){return x;}Float point::gety( ){return y;}Void main( ){Point a;a.setxy(3.5,5.8);B.display( );Point &ra=a;//用ra調(diào)用display輸出x,y的值;/*******************SPACE*******************/【?】Cout<}答案1.void Point::Display()2.ra.Display();三.程序改錯A第1題:Class base{Int number;Sttic int a;Public:Void set(int i,int j);Static int geta( ){return a ;}/************FOUND**********/Static int geta( ){return number;}/************FOUND**********/Void show( ){cout<};1.static int getn(){return number;}錯誤:靜態(tài)成員函數(shù)只允許訪問靜態(tài)成員變量,number不是靜態(tài)成員變量2.void show(){cout<<","<B第1題:#includeClass point {Int x;Public:Void init(int a) {setx(a);}Int getx( ) {return x;}/************FOUND**********/Int setx(int a){x=a;}};Void main( ){/************FOUND**********/A.init(56);Cour<<”a.x”<}答案1.Setx應(yīng)有返回值,int Setx(int a){x=a;return x;}2.A對象應(yīng)該先定義,Point A=new Point( );AB第2題:#includeUsing namespace std;/************FOUND**********/Void sort (int x,int n){Int i,j,t;For (i=0;i/************FOUND**********/For (j=0;j/************FOUND**********/If(x[i]>[i+1]){T=x[j];X[j]=x[j+1];X[j+1]=t; }}Main( ){Int i,n,a[100];Printf(“please input the length of the array:\n”);Cin>>n;/************FOUND**********/Sort(n,a)Cout<<”output the sorted array:”<For(i=0;iCout<}答案1.void sort(int *x,int n)2.for(j=0;j 3.if(x[j]>x[j+1])4.sort(a,n);A第3題:#includeClass point{Int x;Public:Void init(int a){setx(a);}Int getx( ){return x;}};Void main( ){/************FOUND**********/A.init(56);Cout<<”A.”<}答案1.Setx應(yīng)有返回值,int Setx(int a){x=a:return x;}2.A對象應(yīng)該先定義,Point A=new point();B第3題:Class base{Int *p;Public;/************FOUND**********/Base(int a ){p=&a};/************FOUND**********/Int getx( ){return m;}};答案1.base(int a){p=&a;}2.m沒有定義

?

總結(jié)

以上是生活随笔為你收集整理的第四章类和对象 习题答案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。