三、綜合應(yīng)用題
使用VC6打開(kāi)考生文件夾下的工程kt14_3。此工程包含一個(gè)kt14_3.cpp,其中定義了二維坐標(biāo)類(lèi)Coordinate和三維坐標(biāo)類(lèi)ThreeDCoord,其中ThreeDCoord類(lèi)由Coordinate類(lèi)public派生,但兩個(gè)類(lèi)的定義并不完整。請(qǐng)按要求完成下列操作,將程序補(bǔ)充完整。
(1)定義類(lèi)Coordinate的保護(hù)數(shù)據(jù)成員x和y,它們都是int型的數(shù)據(jù),代表二維坐標(biāo)的橫縱坐標(biāo)值。請(qǐng)?jiān)谧⑨尅?/**1**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)根據(jù)類(lèi)Coordinate定義后的成員函數(shù)Display的實(shí)現(xiàn),補(bǔ)充該函數(shù)在類(lèi)Coordinate定義體內(nèi)的聲明,Display為二維坐標(biāo)類(lèi)的虛函數(shù)。請(qǐng)?jiān)谧⑨尅?/**2**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)完成二維坐標(biāo)類(lèi)Coordinate的構(gòu)造函數(shù),將參數(shù)a和b分別賦值給數(shù)據(jù)成員x和y。請(qǐng)?jiān)谧⑨尅?/**3**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)根據(jù)ThreeDCoord類(lèi)構(gòu)造函數(shù)的聲明,補(bǔ)充ThreeDCoord構(gòu)造函數(shù)的實(shí)現(xiàn),參數(shù)a和b通過(guò)調(diào)用基類(lèi)的構(gòu)造函數(shù)來(lái)初始化基類(lèi)的數(shù)據(jù)成員x和y,c賦值給數(shù)據(jù)成員z。請(qǐng)?jiān)谧⑨尅?/**4**”之后添加適當(dāng)?shù)恼Z(yǔ)句。
輸出結(jié)果如下:
[1,2]
[3,4,5]
注意:除在指定位置添加語(yǔ)句之外,請(qǐng)不要改動(dòng)程序中的其他內(nèi)容。
源程序文件kt14_3.cpp清單如下:
#include
classCoordinate
{ protected:
//**1**
public:
Coordinate(inta=0,intb=0);
//**2** };
Coordinate::Coordinate(inta,intb)
{ //**3** }
voidCoordinate::Display()const
{ cout<<'['<
classThreeDCoord:publicCoordinate
{ intz;
public:
ThreeDCoord(inta=0,intb=0,intc=0);
virtualvoidDisplay()const; };
//**4**
voidThreeDCoord::Display()const
{ cout<<'['<
voidmain()
{ Coordinatec(1,2);
ThreeDCoordt(3,4,5);
c.Display();
t.Display(); }
【參考答案】
(1)protected:
int x;
int y;
(2)virtual void Display() const;
(3)x=a; y=b;
(4)ThreeDCoord::ThreeDCoord(int a, int b, int c) : Coordinate(a, b)
【試題解析】
本題主要考查對(duì)類(lèi)數(shù)據(jù)成員的定義、構(gòu)造函數(shù)、派生類(lèi)及虛函數(shù)的理解,是C++類(lèi)知識(shí)的一個(gè)綜合考核。對(duì)虛函數(shù)的定義格式及繼承類(lèi)構(gòu)造函數(shù)的定義格式請(qǐng)多加注意。
相關(guān)推薦:
2014年計(jì)算機(jī)等級(jí)考試過(guò)關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |