3.綜合應(yīng)用題
使用VC6打開考生文件夾下的工程kt15_3。此工程包含一個(gè)kt15_3.cpp,其中定義了類A、A1和A2,其中A1類由A類公有派生,A2類由A1類公有派生。上述三個(gè)類的定義并不完整,請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。
。1)定義類A的構(gòu)造函數(shù),該構(gòu)造函數(shù)有一個(gè)整型的參數(shù)x,在構(gòu)造函數(shù)中請(qǐng)將x賦值給數(shù)據(jù)成員a。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z句。
(2)定義類A1的構(gòu)造函數(shù),該構(gòu)造函數(shù)有兩個(gè)整型參數(shù)x和y,在構(gòu)造函數(shù)中請(qǐng)將x賦值給數(shù)據(jù)成員b,將y作為基類A構(gòu)造函數(shù)的參數(shù)值傳入。請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)語句。
。3)定義類A2的構(gòu)造函數(shù),該構(gòu)造函數(shù)有三個(gè)整型參數(shù)x,y和z,在構(gòu)造函數(shù)中請(qǐng)將x賦值給數(shù)據(jù)成員c,將y和z賦值給基類A1構(gòu)造函數(shù)的參數(shù)x和y。請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z句。
。4)完成類A2的成員函數(shù)show的定義,該函數(shù)調(diào)用基類成員函數(shù),輸出基類數(shù)據(jù)成員a和b及類A2自身數(shù)據(jù)成員c的值,上述三個(gè)值在輸出時(shí)以空格隔開。請(qǐng)?jiān)谧⑨尅?/**4**”后添加適當(dāng)語句。
注意:除在指定位置添加語句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
程序輸出結(jié)果如下:
9
6
962
源程序文件kt15_3.cpp清單如下:
#include<iostream.h>
classA
{ inta;
public:
//**1**
intgeta(){returna;} };
classA1:publicA
{ intb;
public:
//**2**
intgetb(){returnb;} };
classA2:publicA1
{ intc;
public:
//**3**
voidshow()
{ //**4** } };
voidmain()
{ A2a(2,6,9);
cout<<a.geta()<<endl;
cout<<a.getb()<<endl;;
a.show(); }
【參考答案】
(1)A(int x) {a=x;}
。2)A1(int x,int y) : A(y){b=x;}
。3)A2(int x,int y,int z):A1(y,z){c=x;}
。4)cout<<geta()<<" "<<getb()<<" ";
cout<<c<<"\n";
【試題解析】
本題主要考查對(duì)繼承和派生的掌握程度,涉及派生類構(gòu)造函數(shù)的定義、基類成員函數(shù)的訪問等內(nèi)容。派生類的構(gòu)造函數(shù)的格式請(qǐng)牢記,另外派生類構(gòu)造函數(shù)及析構(gòu)函數(shù)的執(zhí)行順序也是需要掌握的。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)C++模擬試題15套(上機(jī))北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |