1. 下列關於類的建構函式和析構函式的敘述中,不正確的是________。
a.類的析構函式可以過載
b. 類的建構函式可以過載
c.定義乙個類時,可以不顯式定義建構函式
d. 定義乙個類時,可以不顯式定義析構函式
分析:析構函式不返回任何值,沒有函式型別,也沒有函式引數。由於沒有函式引數,因此它不能被過載。乙個類可以有多個建構函式,但只能有乙個析構函式。
2. 下列說明中有關結構體定義的正確說法是________。
a.不能指定其成員的許可權 b.不能包含成員函式
c.其成員預設的許可權為公有的 d.不能包含物件成員
分析:c語言中的結構體只能包含資料,而在c++中的結構體實際上就是類,能包含資料也能包含函式,其成員也可指定公有、私有。區別在於其成員未宣告許可權時,預設許可權是public,結構體內也可以包括物件成員。
3. 乙個類的
析構函式________。
a.是唯一的 b.允許過載 c.至多可有兩個 d只能是預設的
4. 下列有關類和物件的說法中,正確的是________。
a.類與物件沒有區別
b.要為類和物件分配儲存空間
c.物件是類的例項,為物件分配儲存空間而不為類分配儲存空間
d.類是物件的例項,為類分配儲存空間而不為物件分配儲存空間
分析:略。
5. 假定ab為乙個類的類名,則該類的拷貝建構函式的函式原型是
a.ab &(ab x); b.ab (ab x) c.ab (ab & x) d.ab (ab * x)
分析:拷貝建構函式,又稱複製建構函式,是一種特殊的建構函式,它由編譯器呼叫來完成一些基於同一類的其他物件的構建及初始化。其唯一的形參必須是引用,但並不限制為const,一般普遍的會加上const限制。
6. 下列各類函式中,
不是類的成員函式。
a.建構函式
b.析構函式
c.友元函式
d.拷貝建構函式
7. 乙個類的友元函式能夠訪問該類的
a.私有成員
b.保護成員
c.公有成員
d.所有成員
8. 下述靜態成員的特性中,錯誤的是
a.說明靜態資料成員時前邊要加修飾符static
b.靜態資料成員要在類體外重新定義並進行初始化
c.引用靜態資料成員時,要在靜態資料成員前加類名和作用域運算子
d.靜態資料成員不是所有物件共有的
分析:靜態資料成員是被類的所有物件共享,它不屬於類的任何乙個物件,它的作用域是類範圍。靜態資料成員在每個類物件中並不占有儲存空間,它只是每個類中分配有儲存空間,供所有物件公用。靜態資料成員的值對每個物件都一樣,但它的值可以被任何乙個物件更新,從而實現了同一類的不同物件之間的資料共享。
9. 如下程式定義了乙個時鐘類:
時鐘類具有時、分、秒屬性,具有設定和顯示時間屬性的公共介面函式,請根據自己的理解在________處填上相應的語句,並寫出其輸出結果_______________。
#include
class clock
public:
void settime(int newh, int newm, int news);
void showtime()
coutint hour, minute, second;
void clock::settime(int newh = 0, int newm = 0, int news = 0)
_hour=newh______________
;_minute=newm______________
;_second=news______________;
void main()
clock myclock;
cout<<"first time set and output:\n";
myclock.settime();
myclock.showtime();
cout<<"second time set and output:\n";
clock _*temp=&myclock______________;
temp->settime(12, 56);
temp->showtime();
cout<<"third time set and output:\n";
temp->settime(8, 30, 30);
temp->showtime();
輸出結果:
first time set and output:
0:0:0
second time set and output:
12:56:0
third time set and output:
8:30:30
10.讀程式,寫結果。
#include class point
point(point &p);
int getx()
int gety()
private:
int x,y;
};point::point(point &p)
void main()
{point a(3,4);
point b(a);
cout《輸出結果:
呼叫建構函式
呼叫拷貝建構函式
3
物件導向應用例項之作業題
分析以下需求並實現 手機類phone 屬性 品牌brand price 行為 打 call 發簡訊sendmessage 玩遊戲playgame 要求 1.按照以上要求定義類,屬性要私有,生成空參 有參構造,setter和getter方法 2.定義測試類,在main方法中建立該類的物件並給屬性賦值 ...
物件導向程式設計技術 作業題二
include define use math defines include using namespace std class cshape 圓 class ccircle public cshape virtual ccircle virtual double area virtual dou...
軟體測試和測試環境作業題
1.1什麼是軟體?1.2什麼是軟體測試?1.3什麼是測試環境?1.4計算機中為什麼要使用二進位制儲存資料?說說你的理解 1.5計算 273 的二進位制 八進位制 十六進製制形式 1.6計算 10010111b 的十進位制 八進位制 十六進製制形式 1.7什麼是 ascii?1.8寫出下列字元的 as...