第 1 頁(yè):選擇題 |
第 3 頁(yè):程序改錯(cuò)題 |
第 4 頁(yè):簡(jiǎn)單應(yīng)用題 |
第 5 頁(yè):綜合應(yīng)用題 |
四、綜合應(yīng)用題
43使用VC++6.0打開(kāi)考生文件夾下的源程序文件3.cpp。請(qǐng)完成以下部分,實(shí)現(xiàn)在屏幕上輸出為
C3
C2
這個(gè)程序需要修改的部分,請(qǐng)按照以下部分實(shí)現(xiàn)。
(1)類(lèi)C0不能被實(shí)例化,請(qǐng)定義一個(gè)純虛函數(shù)print,在注釋1后添加適當(dāng)?shù)恼Z(yǔ)句。
(2)類(lèi)C1私有虛繼承類(lèi)C0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(3)類(lèi)C2公有繼承于C0,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
(4)類(lèi)c3公有繼承于C2與C1,請(qǐng)?jiān)谧⑨?后添加適當(dāng)?shù)恼Z(yǔ)句。
注意:增加代碼或者修改代碼的位置已經(jīng)用符號(hào)表示出來(lái)。請(qǐng)不要修改其他的程序代碼。
試題程序:
#include(iostream.h)
classCO
{
//********1********
};
//********2********
classC1:
{
public:
voidprint()
{
cout<"”C1"<
}
};
//********3********
classC2:
{
public:
voidprint()
{
cout<<"C2"<
}
};
//********4***x****
classC3:
{
public:
voidprint()
{
cout<<"C3"<
}
};
voidmain()
{
C30bj3;
C20bj2;
obj3.print();
obj2.print();
return;
}
參考解析:
(1)應(yīng)添加“virtualvoidprint()=0,”。
(2)“classC1:”應(yīng)改為“classC1:virtualprivateC0”。
(3)“classC2:”應(yīng)改為“classC2:publicC0”。
(4)“classC3:”應(yīng)改為“classC3:publicC2,publicC1”。
【解析】本題考查了類(lèi)的繼承。根據(jù)題意,第1處應(yīng)該添加“virtualvoidprint()=0;”。第2處根據(jù)題意,在冒號(hào)后面應(yīng)添加“virtualprivateCO”。第3處根據(jù)題意,冒號(hào)后應(yīng)添加“publicCO”。第4處根據(jù)題意,冒號(hào)后應(yīng)添加“publicC2,publicC1”。
相關(guān)推薦:
各地2015全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |