




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C++復習基礎習題課第一頁,共五十七頁。1、每個類()構造函數
A.只能有一個
B.只可有公有的
C.可以有多個
D.只可有缺省的答案為C第二頁,共五十七頁。2、已知類A中的一個成員函數的說明如下:voidSet(A&a);則該函數的參數“A&a”的含義是()
A.指向A的指針為a
B.將變量a的地址賦給類AC.類A對象引用a用作函數的形參
D.變量A與a按位與后作函數參數答案為C第三頁,共五十七頁。3、下列特性中,C與C++共有的是()
A.繼承
B.封裝
C.多態(tài)性
D.函數定義不能嵌套答案為D第四頁,共五十七頁。4、假定AB為一個類,則執(zhí)行ABx;語句時將自動調用該類的()
A.有參構造函數B.無參構造函數
C.拷貝構造函數
D.賦值構造函數答案為B第五頁,共五十七頁。5、如果類A被說明成類B的友元,則()
A.類A的成員即類B的成員
B.類B的成員即類A的成員
C.類A的成員函數不得訪問類B的成員
D.類B不一定是類A的友元
答案為D第六頁,共五十七頁。6、下列不是類的成員函數的是()
A.構造函數
B.析構函數
C.友元函數D.拷貝構造函數答案為C第七頁,共五十七頁。7、拷貝(復制)構造函數的作用是()
A.進行數據類型的轉換
B.用對象調用成員函數
C.用對象初始化對象
D.用一般類型的數據初始化對象答案為C第八頁,共五十七頁。8.若要把函數voidf()定義為類aClass的友元函數,則應該在類aClass的定義中加入的語句是()
A.voidf();
B.staticvoidf();
C.friendf();
D.friendvoidf();
答案為D第九頁,共五十七頁。9.下列關于析構函數的描述中,錯誤的是()
A.類中有且僅有一個析構函數
B.析構函數可以有形參
C.析構函數沒有函數類型
D.析構函數在對象消失時被自動執(zhí)行答案為B第十頁,共五十七頁。10.下面對靜態(tài)數據成員的描述中,正確的是()
A.靜態(tài)數據成員可以在類體內進行初始化
B.靜態(tài)數據成員不可以被類的對象調用
C.靜態(tài)數據成員不能受private控制符的作用
D.靜態(tài)數據成員可以直接用類名調用答案為D第十一頁,共五十七頁。11.下面關于友元函數的描述中,正確的是()
A.友元函數的實現必須在類的內部定義
B.友元函數是類的成員函數
C.友元函數破壞了類的封裝性和隱藏性
D.友元函數不能訪問類的私有成員答案為C第十二頁,共五十七頁。12.下列關于new運算符的描述中,錯誤的是()
A.使用運算符new創(chuàng)建對象組時必須定義初始值
B.使用運算符new創(chuàng)建對象時,會調用類的構造函數
C.運算符new可以用來動態(tài)創(chuàng)建對象和對象數組
D.使用new運算符創(chuàng)建的對象可以運用運算符delete刪除答案為A第十三頁,共五十七頁。13.下列對類的構造函數和析構函數的描述中,正確的是()
A.構造函數可以重載,析構函數不能
B.構造函數不能重載,析構函數可以
C.構造函數可以重載,析構函數也可以重載
D.構造函數不能重載,析構函數也不能重載答案為A第十四頁,共五十七頁。14.在C++中,數據封裝要解決的問題是()
A.數據的規(guī)范化
B.便于數據轉換
C.避免數據丟失
D.防止不同模塊之間數據的非法訪問答案為D第十五頁,共五十七頁。15.假定MyClass為一個類,那么下列的函數說明中,()為該類的析構函數.
A.void~MyClass();
B.~MyClass(intn);
C.MyClass();
D.~MyClass();
答案為D第十六頁,共五十七頁。16.為了使類中的成員不能被類的對象通過成員操作符訪問,則不能把該成員的訪問權限定義為
()A.public
B.protected
C.private
D.static答案為A第十七頁,共五十七頁。17.下列對與拷貝初始化構造函數的描述中,正確的()
A.在C++語言中,如果不自定義類的拷貝初始化構造函數,則每個類都有默認的拷貝初始化構造函數
B.必須為每個類定義拷貝初始化構造函數
C.如果要使用拷貝初始化構造函數,則必須在類中定義
D.當定義了類的構造函數時,如果要使用拷貝初始化構造函數,則必須定義拷貝初始化構造函數答案為A第十八頁,共五十七頁。18.對于下面定義的類MyClass,在函數f()中將對象成員n的值修改為50的語句(劃線處)應該是()
classMyClass
{
public:
MyClass(intx)
{
n=x;
}
voidSetValue(intn1)
{
n=n1;
}
private:
intn;
};
intf()
{
MyClass*ptr=newMyClass(45);
__________;
}
A.MyClass(50)
B.SetValue(50)
C.ptr->SetValue(50)
D.ptr->n=50答案為C第十九頁,共五十七頁。19.類MyClass的定義如下:
classMyClass
{
public:
MyClass()
{
value=0;
}
setVariable(inti)
{
value=i;
}
private:
intvalue;
};
則以下各項對如下語句序列的描述中,正確的是().
MyClass*p,my;p=&my;
A.語句”p=&my;”是把對象my賦值給指針變量p
B.語句”MyClass*p,my;”會調用兩次類MyClass的構造函數
C.對語句”*p.SetVariable(5)”的調用是正確的
D.語句”p->SetVariable(5)”與語句”my.SetVariable(5)”等價答案為D第二十頁,共五十七頁。20.下面類的定義,有()錯誤.classMyClass{inti=0;public:voidMyClass();~MyClass(intValue);};
A.1
B.2
C.3
D.4
答案為C第二十一頁,共五十七頁。21.定義析構函數時,應該注意()
A.其名與類名完全相同
B.返回類型是void類型
C.無形參,也不可重載
D.函數體中必須有delete語句
答案為C第二十二頁,共五十七頁。22.構造函數不具備的特征的是()
A.構造函數的函數名與類名相同
B.構造函數可以重載
C.構造函數可以設置默認參數
D.構造函數必須指定返回類型
答案為D第二十三頁,共五十七頁。23.類的析構函數是在什么時間被自動調用的()
A.類創(chuàng)建時
B.創(chuàng)建對象時
C.刪除對象時
D.不自動調用答案為C第二十四頁,共五十七頁。24.對于任何一個類,析構函數最多有()個
A.0
B.1
C.2
D.325.通常,拷貝構造函數的參數是()
A.某個對象名
B.某個對象的成員名
C.某個對象的引用名
D.某個對象的指針名
答案為B答案為C第二十五頁,共五十七頁。26.面向對象程序設計中的數據隱藏指的是()
A.輸入數據必須輸入保密口令
B.數據經過加密處理
C.對象內部數據結構上建有防火墻
D.對象內部數據結構的不可訪問性
答案為D第二十六頁,共五十七頁。27.下列關于類的訪問權限的描述中,錯誤的是().
A.說明為公有的成員可以被程序中的任何代碼訪問
B.說明為私有的成員只能被類的成員和說明為友元類的成員函數訪問
C.說明為保護的成員,除了能被本身的成員函數和說明為友元類的成員函數訪問外,該類的派生類的成員也可以訪問
D.類的所有成員都可以被程序中的任何代碼訪問
答案為D第二十七頁,共五十七頁。28.一個類的友元函數或友元類可以訪問該類的()
A.私有成員
B.保護成員
C.公有成員
D.所有成員
答案為D第二十八頁,共五十七頁。29.下列關于成員函數特征的描述中,錯誤的是()
A.成員函數一定是內聯(lián)函數
B.成員函數可以重載
C.成員函數可以設置參數的默認值
D.成員函數可以是靜態(tài)的
答案為A第二十九頁,共五十七頁。30.下面對類中靜態(tài)數據成員的描述中,正確的是()
A.靜態(tài)數據成員是類的所有對象共享的數據
B.類的每個對象都有自己的靜態(tài)數據成員
C.類的不同對象有不同的靜態(tài)數據成員
D.靜態(tài)數據成員不能通過類的對象調用答案為A第三十頁,共五十七頁。31.下列虛基類的聲明中,正確的是()。
A.classvirtualB:publicA
B.virtualclassB:publicA
C.classB:publicAvirtual
D.classB:virtualpublicA
答案為D第三十一頁,共五十七頁。32.C++類體系中,不能被派生類繼承的有()。
A.構造函數
B.虛函數
C.靜態(tài)成員函數
D.賦值操作函數
33.下列說法錯誤的是()。
A.公有繼承的基類中的public成員在派生類中仍是public的
B.公有繼承的基類中的private成員在派生類中仍是private的
C.私有繼承的基類中的public成員在派生類中變成private的
D.保護繼承的基類中的public成員在派生類中變成protected的答案為A答案為B第三十二頁,共五十七頁。34.下列對基類和派生類關系的描述中,錯誤的是()。
A.派生類是基類的具體化
B.派生類是基類的子集
C.派生類是基類定義的延續(xù)
D.派生類是基類的組合
答案為B第三十三頁,共五十七頁。35.C++中的類有兩種用法:一種是類的實例化,即生成類對象,并參與系統(tǒng)的運行;另一種是通過()派生了新的類。
A.復用
B.繼承
C.封裝
D.引用
答案為B第三十四頁,共五十七頁。36.C++類體系中,能被派生類繼承的是()。
A.構造函數
B.虛函數
C.析構函數
D.友元函數
答案為B第三十五頁,共五十七頁。37.在重載一個運算符函數時,其參數表中沒有任何參數,這說明該運算符是()。
A.一元非成員運算符
B.一元成員運算符
C.二元非成員運算符
D.二元成員運算符
答案為B第三十六頁,共五十七頁。38.關于多繼承二義性的描述,()是錯誤的。
A.派生類的多個基類中存在同名成員時,派生類對這個成員訪問可能出現二義性
B.一個派生類是從具有共同的間接基類的兩個基類派生來的,派生類對該公共基類的訪問可能出現二義性
C.解決二義性最常用的方法是作用域運算符對成員進行限定
D.派生類和它的基類中出現同名函數時,將可能出現二義性答案為D第三十七頁,共五十七頁。39.下列對派生類的描述中,()是錯誤的。
A.一個派生類可以作為另一個派生類的基類
B.派生類至少有一個基類
C.派生類的成員除了它自己的成員外,還包含了它的基類成員
D.派生類中繼承的基類成員的訪問權限到派生類保持不變
答案為D第三十八頁,共五十七頁。40.若類A和類B的定義如下:
classA
{
inti,j;
public:
intgeti(){returni;}
};
classB:publicA
{
intk;
public:
voidmake(){k=i*j;}
};
則上述中,()是非法的表達式。
A.k=i*j
B.intk;
C.returni;
D.voidmake();
答案為A第三十九頁,共五十七頁。41.關于公有繼承,下列說法錯誤的是()。
A.基類的公有成員和保護成員被繼承后作為派生類的公有成員和保護成員。
B.派生類的其他成員可以直接訪問基類的公有成員和保護成員。
C.派生類的對象可以訪問基類的私有成員。
D.派生類成員和對象都無法訪問基類的私有成員。
答案為C第四十頁,共五十七頁。42.下列說法中錯誤的是()。
A.公有繼承時基類中的public成員在派生類中仍是public的;
B.公有繼承時基類中的private成員在派生類中仍是private的;
C.私有繼承時基類中的public成員在派生類中是private的;
D.保護繼承時基類中的public成員在派生類中是protected的;
答案為B第四十一頁,共五十七頁。43.在公有繼承中,基類中的公有成員作為派生類的()。
A.公有成員
B.私有成員
C.保護成員
D.私有成員函數
答案為A第四十二頁,共五十七頁。44.基類中的()不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。
A.公有成員
B.私有成員
C.保護成員
D.私有成員函數
答案為C第四十三頁,共五十七頁。45.設置虛繼承的聲明中,正確的是()。
A.簡化程序
B.消除二義性
C.提高運行效率
D.減少目標代碼
答案為B第四十四頁,共五十七頁。46.下面敘述錯誤的是()。
A.基類的protected成員在派生類中仍然是protected
B.基類的protected成員在public派生類中仍然是protected的
C.基類的protected成員在private派生類中是private的
D.基類的protected成員不能被派生類的對象訪問
答案為A第四十五頁,共五十七頁。47.派生類的對象對它的基類成員中()是可以訪問的。A.公有繼承的公有成員
B.公有繼承的私有成員
C.公有繼承的保護成員
D.私有繼承的公有成員
答案為A第四十六頁,共五十七頁。48.下列對派生類的描述中,錯誤的是()。
A.一個派生類可以作為另一個派生類的基類
B.派生類至少有一個基類
C.派生類的缺省繼承方式是private
D.派生類只含有基類的公有成員和保護成員
答案為D第四十七頁,共五十七頁。49.繼承具有(),即當基類本身也是某一個類派生類時,底層的派生類也會自動繼承間接基類的成員。
A.規(guī)律性
B.傳遞性
C.重復性
D.多樣性
答案為B第四十八頁,共五十七頁。50、看程序寫結果
#include<iostream.h>
classBase
{inti;
public:
Base(intn){cout<<"Constuctingbaseclass"<<endl;i=n;}
~Base(){cout<<"Destructingbaseclass"<<endl;}
voidshowi(){cout<<i<<",";}
intGeti(){returni;}
};
第四十九頁,共五十七頁。classDerived:publicBase
{intj;
Baseaa;
public:
Derived(intn,intm,intp):Base(m),aa(p){
cout<<"Constructingderivedclass"<<endl;
j=n;
}
~Derived(){cout<<"Destructingderivedclass"<<endl;}
voidshow(){Base::showi();
cout<<j<<","<<aa.Geti()<<endl;}
};
voidmain()
{Derivedobj(8,13,24);
obj.show();
}
Constuctingbaseclass
Constuctingbaseclass
Constructingderivedclass
13,8,24
Destructingderivedclass
Destructingbaseclass
Destructingbaseclass
第五十頁,共五十七頁。51、指出并改正下面程序中的錯誤。
#include<iostream.h>
classA
{public:
intx;
A(inta=0){x=a;}
voiddisplay(){cout<<"A.x="<<x<<endl;}
};
classB
{public:
intx;
B(inta=0){x=a;}
voiddisplay(){cout<<"B.x="<<x<<endl;}
};
classC:publicA,publicB
{inty;
public:
C(inta,intb,intc):A(a),B(b)
{y=c;}
intgety(){returny;}
};
voidmain()
{Cmyc(1,2,3);
myc.x=10;
myc.display();
}
myc.A::x=10;myc.A::display();或myc.B::x=10;myc.B::display();第五十一頁,共五十七頁。52、寫出程序運行結果:
#include<iostream>
usingnamespacestd;
classbase
{
public:
voidwho(){cout<<"baseclass"<<endl;}
};
classderive1:publicbase
{
public:
voidwho(){cout<<"derive1class"<<endl;}
};
classderive2:publicbase
{
public:
voidwho(){cout<<"derive2class"<<endl;}
};
voidmain()
{
baseobj1;
obj1.who();
derive1obj2;
obj2.base::who();
derive2obj3;
obj3.base::who();
}
baseclass
baseclass
baseclass
第五十二頁,共五十七頁。53.閱讀下列程序,寫出程序運行結果。
#include<iostream>
usingnamespacestd;
classPerson
{
public:
Person(){cout<<"ConstructorofPerson"<<endl;}
~Person(){cout<<"DestructorofPerson"<<endl;}
};
classStudent:publicPerson
{
public:
Student(){cout<<"ConstructorofStudent"<<endl;}
~Student(){cout<<"DestructorofStudent"<<endl;}
};
classTeacher:publicPerson
{
public:
Teacher(){cout<<"ConstructorofTeacher"<<endl;}
~Teacher(){cout<<"DestructorofTeacher"<<endl;}
};
intmain()
{
Students;
Teachert;
return0;
}
ConstructorofPerson
ConstructorofStudent
ConstructorofPerson
ConstructorofTeacher
DestructorofTeacher
DestructorofPerson
DestructorofStudent
DestructorofPerson第五十三頁,共五十七頁。54.寫出下列程序運行結果:
#include<iostream>
usingnamespacestd;
classB0
{
public:
voiddisplay(){cout<<"B0::display()"<<endl;}
};
classB1:publicB0
{
public:
voiddisplay(){cout<<"B1::display()"<<endl;}
};
classD1:publicB1
{
public:
voiddisplay(){cout<<"D1::display()"<<endl;}
};
intmain()
{
B0b0;
B1b1;
D1d1;
B0*p;
p=&b0;
p->display();
p=&b1;
p->display();
p=&d1;
p->display();
}B0::display()
B0::display()
B0::display()
第五十四頁,共五十七頁。55、寫出程序運行結果:
#include<iostream>
usingnamespacestd;
classBase
{
intx;
public:
Base(intxx=0):x(xx){cout<<"ConstructorofBase"<<endl;}
~Base(){cout<<"DestructorofBase"<<endl;}
voidPrint(){cout<<x<<',';}
intGetX(){returnx;}
};
classDerived:publicBase
{
inty;
Basez;
public:
Derived(intxx=0,intyy=0):Base(xx),y(yy),z(xx+yy)
{cout<<"ConstructorofDerived"<<endl;}
~Derived(){cout<<"DestructorofDerived"<<endl;}
voidPrint()
{
Base::Print();
cout<<y<<','<<z.GetX()<<endl;
}
};
intmain()
{
Derivedobj1(2);
obj1.Print();
return0;
}
Co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河西學院《比較公共行政學》2023-2024學年第二學期期末試卷
- 寧夏師范學院《土地信息系統(tǒng)》2023-2024學年第二學期期末試卷
- 榆林職業(yè)技術學院《計算機網絡與工業(yè)互聯(lián)網》2023-2024學年第二學期期末試卷
- 云南藝術學院《俄語基礎》2023-2024學年第二學期期末試卷
- 河南經貿職業(yè)學院《人員招募與選錄》2023-2024學年第二學期期末試卷
- 長春職業(yè)技術學院《社會保障制度比較研究》2023-2024學年第二學期期末試卷
- 湖北孝感美珈職業(yè)學院《走近大詩人》2023-2024學年第二學期期末試卷
- 華東師范大學《通信工程專業(yè)綜合》2023-2024學年第二學期期末試卷
- 江西軟件職業(yè)技術大學《電子電工技術及實驗》2023-2024學年第二學期期末試卷
- SONY索尼E卡口變焦鏡頭SEL18135使用說明書
- 婚內財產債務協(xié)議書(通用)
- 部編版四年級下冊道德與法治 第4課 買東西的學問(第2課時) 教學課件
- 慢性活動性EB病毒課件
- 葡萄胎全面版課件
- 《冷沖壓工藝與模具設計》完整版ppt課件全套教程
- 業(yè)務招待費明細單
- 高效液相色譜法分析(三聚氰胺)原始記錄1
- 典雅中國風詩詞大會古風PPT模板
- Part 7 Formal and Informal Styles課件
- 文化差異及跨文化交際試題集
- 油畫人體張東方姑娘的極致美
評論
0/150
提交評論