第 1 頁(yè):上機(jī)試題 |
第 2 頁(yè):參考答案 |
一、程序改錯(cuò)題
(1)刪除“private:”語(yǔ)句。
(2)應(yīng)改為“TC2(inti)”。
(3)應(yīng)改為“std::cout< 【解析】本題中第1處的“virtual~TC1()”語(yǔ)句是TC1析構(gòu)函數(shù),不是私有函數(shù),所以刪除“private:”。第2處“ex-plicitTC2(inti)”構(gòu)造函數(shù)語(yǔ)句中的“explicit”是禁止隱式轉(zhuǎn)換。程序中無(wú)法實(shí)現(xiàn)對(duì)類TC2的直接使用,所以這里應(yīng)該將其刪除。即“TC2(inti)”。在第3處實(shí)現(xiàn)fun函數(shù)中m-i的標(biāo)準(zhǔn)輸出,即在屏幕上輸出10。在程序中用到C++標(biāo)準(zhǔn)庫(kù)時(shí),要使用std標(biāo)準(zhǔn)命名空間進(jìn)行限定。cout為標(biāo)準(zhǔn)庫(kù)函數(shù),所以要聲明cout是在命名空間std中定義的流對(duì)象,即“std::cout< 二、簡(jiǎn)單應(yīng)用題
charstr[32];
inti;
for(i=30;i>=0;i--)//計(jì)算二進(jìn)制
{
if(x%2)str[i]=’1’;//求余,如果余不為零字符串
str第i位為1
elsestr[i]=’0’;//否則為0
x>>=1;
if(!x)break;
}
str[31]=’\0’;//串加尾符
cout<<&str[i]< writeFile(&str[i]);
【解析】本題要求定義存放二進(jìn)制的字符串str。利用for循環(huán)對(duì)十進(jìn)制數(shù)字x進(jìn)行取余運(yùn)算,直到余數(shù)為0結(jié)束。如果取余結(jié)果為0,則二進(jìn)制字符串這個(gè)字符位的值為0,否則為1。調(diào)用WriteFile,將運(yùn)算結(jié)果存入文件。
三、綜合應(yīng)用題
(1)將“classTC2”補(bǔ)充完整為“classTC2:publicTCl”。
(2)將“voidprint()”補(bǔ)充完整為“virtualvoidprint()”。
(3)將“p=obj3;”修改為“p=&obj3;”。
(4)將“P.print();”修改為“p->print();”。
【解析】本題中第1處要求“類TC2公共繼承于TC1”。從已有的類產(chǎn)生一個(gè)新的子類,成為類的派生。聲明派生類的一般形式為“class派生類名:[繼承方式]基類名”。根據(jù)題目中的要求以及派生類的一般形式,在第1處添加語(yǔ)
句“ClaSSTC2:publicTC1”。第2處要求“print函數(shù)為虛函數(shù)”。在C++中,用virtual聲明的函數(shù)為虛函數(shù)。因此第2處的語(yǔ)句應(yīng)修改為“virtualvoidprint()”。第3處要求“使得P指定對(duì)象obj3”。p為指針變量,obj3為類的對(duì)象,將一個(gè)指針變量指向另一個(gè)變量,只要把被指向的變量的地址賦給指針變量即可。取對(duì)象obj3地址的語(yǔ)句為&obj3,所以這里補(bǔ)全語(yǔ)句為“p=&obj3;”。第4處要求“利用P調(diào)用print()函數(shù)”。C++中用“->”運(yùn)算符實(shí)現(xiàn)成員訪問(wèn),因此調(diào)用print函數(shù),應(yīng)將第4處的語(yǔ)句修改為“p->print();”。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2018年9月全國(guó)計(jì)算機(jī)等級(jí)考試試題匯總(各科目)
2018年全國(guó)計(jì)算機(jī)等級(jí)考試必做試題匯總(各科目)
2018年全國(guó)計(jì)算機(jī)等級(jí)考試復(fù)習(xí)知識(shí)點(diǎn)匯總(各科目)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |