點(diǎn)擊查看:2018年9月計算機二級C語(yǔ)言強化練習題及答案匯總
綜合應用題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。其中定義的類(lèi)不完整,按要求完成下列操作,將類(lèi)的定義補充完整。
(1)基類(lèi)People完成打印功能,定義其中的打印函數為
虛函數,請在注釋1后添加適當的語(yǔ)句。
(2)類(lèi)Boy繼承于People,在構造函數中設置性別為1,
請在注釋2后添加適當的語(yǔ)句。
(3)類(lèi)Girl繼承于People,在構造函數中設置性別為0,請在注釋3后添加適當的語(yǔ)句。
(4)實(shí)現函數fun,用于傳遞不同的類(lèi)型,打印出性別,請在注釋4后添加適當的語(yǔ)句。
輸出的內容如下:
Sex=Boy
Sex=Girl
注意:除在指定位暨添加語(yǔ)句之外,請不要改動(dòng)程序中的其他內容。
試題程序:
#include
classPeople
{
public:
//********1********
voidprint(){}
intsex;
};
classBoy:publicPeople
{
publiC:
Boy()
{
//********2********}
voidprint()
{
cout<<"Boy"< }
};
classGirl:publicPeople
{
public:
Girl()
{
//********3********}
voidprint()
{
cout<<"Girl"< }
};
//********4********{
cout<<"Sex=";
p.print();
}
intmain()
{
Boym:
fun(m);
Girln:
fun(n);
return0;
}
參考答案:
(1)將“voidprint(){};”補充完整為“virtualvoidprint(){};”。
(2)應添加“sex=1;”。
(3)應添加“sex=0;”。
(4)應添加“voidfun(People&p)”。
【解析】第1處要求“基類(lèi)People完成打印功能,定義其中的打印函數為虛函數”。虛函數是函數的一種,定義虛函數,在函數名前聲明virtual就可以了,所以將第1處的“voidprint(){}”語(yǔ)句修改為“virtualvoidprint(){}”。第2處要求“類(lèi)Boy繼承于People,在構造函數中設置性別為l”;(lèi)People中變量sex用來(lái)存放性別,Boy繼承People,所以Boy中性別的變量可以使用基類(lèi)中的sex變量,設置性別為1,即“sex=1;”。第3處要求“類(lèi)Girl繼承于People,在構造函數中設置性別為0”。在第3處添加語(yǔ)句“sex=0;”。第4處要求“實(shí)現函數fun,用于傳遞不同的類(lèi)型,打印出性別”。根據“P.print();”語(yǔ)句知道,fun函數的形參為指針P,由于它調用了基類(lèi)People中的成員函數print,所以P的基類(lèi)為People,即添加函數fun的定義為“voidfun(People&p)”。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年全國計算機等級考試復習知識點(diǎn)匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |