第 1 頁:選擇題 |
第 3 頁:程序改錯題 |
第 4 頁:簡單應(yīng)用題 |
第 5 頁:綜合應(yīng)用題 |
二、程序改錯題
41使用VC++6.0打開考生文件夾下的源程序文件1.cpp,該程序運行時有錯誤,請改正錯誤,使得程序輸出:
Hello
test
注意:不要改動main函數(shù),不能增加或刪除行,也不能更改程序的結(jié)構(gòu),錯誤的語句在
//******error******的下面。
試題程序:
#include
//********error********
template
voidfun(Tt)
{
std::cout<<"test"<
}
//********error********
template
voidfun(boolt)
{
std::cout<<(t?"Hell0":"Hi")<
}
intmain()
{
//********error********
boolflag=TRUE;
fun(flag);
fun((int)flag);
return0;
}
參考解析:
(1)應(yīng)改為“template”。
(2)刪除“template(bool)”。
(3)應(yīng)改為“boolflag=true;”。
【解析】C++中的模板類格式為template,所以第1處的語句“template”應(yīng)修改為“template(classT>”。在第2處的“voidfun(boolt)”函數(shù)中,t變量為布爾型變量,是C++中的基礎(chǔ)變量,不是模板變量,沒有使用到模板類,所以刪除第2處的模板類型定義語句。第3處的“boolflag=TRUE;”是聲明布爾型變量flag,并將其值賦為邏輯真。而TRUE并不是合法值,C++中區(qū)分大小寫,所以邏輯真值應(yīng)為true,即“boolflag=true;”。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |