c) void base(voidd) base();
3. 對於類base,下列選項______是合法的析造函式。
a) void ~base(){} b) ~base(){} c) int ~base(){} (d) base ~base(){}
4. 下列語句中,_______不能為我們定義乙個常量。
a) #define pi 3.1415926
b) #define pi=3.1414926
c) const double pi=3.1415926;
d) const static double pi=3.1415926;
5. 為了提高函式呼叫的實際執行速度,可以將較簡單的函式定義為______。
a) 遞迴函式 b) 友元函式 c) 內聯函式 d) 成員函式
6. 下列運算子中,______運算子不能被過載。
a) ?: b) + c) [ ] d) >>
7. 下列關於建構函式的描述中,錯誤的是______。
a) 建構函式可以沒有引數
b) 建構函式不可以設定預設引數
c) 建構函式可以是內聯函式
d) 建構函式可以過載
8. 下面描述中,表達錯誤的是_______。
a) 公有繼承時基類中的public成員在派生類中仍是public的
b) 公有繼承時基類中的private成員在派生類中仍是private的
c) 公有繼承時基類中的protected成員在派生類中仍是protected的
d) 私有繼承時基類中的public成員在派生類中是private的
9. 運算子過載是對已有的運算子賦予多重含義,因此_______
a) 可以對基本型別(如double型別)的資料,重新定義「+」運算子的含義
b) 可以改變乙個已有運算子的優先順序和運算元個數
c) c++中已經有的所有運算子都可以過載
d) 只能過載c++中已有的運算子,不能定義新運算子
10. 已知類myint的定義如下:
class myint
};下列對myint類物件陣列的定義和初始化語句中,正確的是
a) myint myints[3];
b) myint myints[3] = ;
c) myint myints[3] = ;
myvector::myvector(int n實現建構函式
assert(n>0);
data3)______;
capacity = n;
length = 0;
for(int i = 0; i}
ostream& operator<<(ostream& out, const myvector& mv)
(1) data (2) friend (3) new int[n] (4) i < (5) *(
(2). 類derived公共繼承於base。base的建構函式有乙個引數i用於初始化其資料成員v。
derived的建構函式有三個引數val1,val2和val3,分別用於初始化base的資料成員v以及derived的資料成員v1、v2。
class base
};class derived:____(7)______ ;
(6) v(i) (7) public base (8)base(val1) (9)v1(val2) (10) v2(val3)
四、讀程式,寫出執行結果(25分,每題5分)
1. void f(int i)
int main()
答案:2. class base;
}class derived:public base
};int main()
答案:in base::print()
in derived::print()
3. class a
void print( ) ;
void main( )
答案:a=0,b=0
a=4,b=8
4. class myclass
myclass(const myclass& another)
myclass& operator=(const myclass& rhs)
};int main()
答案:5. class animal
~animal()
};class tigger:public animal
~tigger()
};class cat:public tigger
~cat()
};int main()
答案:五、程式設計題(共20分)
1. 請實現以下三個分別可以支援兩個、三個和n個整數相加的過載函式。函式名統一為add,返回值統一為int,例如兩個整數相加的版本為 int add(int, int)。
int add(int x, int y)
int add(int x, int y, int z)
int add(int x, int n)
2. 給定類integernumber的定義如下,要求實現如下五個運算子過載。
class integernumber
integernumber operator+(const integernumber& rhs);
物件導向程式設計C期末試卷及標準答案B
班級姓名 學號分數 試卷說明 本套試題共四個大題,全部題目都答在答題紙上,寫在其他地方均無效。答題紙在本套試卷的第8頁上 一 單項選擇題 每小題2分,共40分 1 關於c 與c語言關係的描述中,d 是錯誤的。a c語言是c 語言的乙個子集 b c語言與c 語言是相容的 c c 語言對c語言進行了一些...
物件導向程式設計技術試卷A 安徽工業大學
裝訂線課程班級姓名學號 密封線安徽工業大學試題紙 一 題號得分一二 三四五六 七 十 十一十二 十三十四 十五十六 十七十八 十九二十 總分2007 2008學年第一學期期末考試 物件導向的程式設計技術 試卷 a 注意 所有答案請寫在答題紙上 一 單項選擇題 120 20分 1 為了提高程式的執行速...
第二章Delphi物件導向的程式設計方法一
delphi的程式語言是以pascal為基礎的。pascal語言具有可讀性好 編寫容易的特點,這使得它很適合作為基礎的開發語言。同時,使用編譯器建立的應用程式只生成單個可執行檔案 exe 正是這種結合,使得pascal成為delphi這種先進開發環境的程式語言。本章中,我們將討論object pas...