糯米文學吧

位置:首頁 > 計算機 > 計算機二級

計算機二級C++上機考試試題

為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C++上機考試試題,供參考練習,預祝考生們考出自己理想的成績!

計算機二級C++上機考試試題

綜合應用題

使用VC++6.0打開考生文件夾下的源程序文件3.cpp。其中定義的類不完整,按要求完成下列操作,將類的定義補充完整。

(1)完成TC的構造函數,請改正註釋1後的錯誤。

(2)完成func函數定義,請改正註釋2後的錯誤。

(3)初始化CmyClass的成員變量Num3為4,請改正註釋3後的錯誤。

(4)完成func函數,請改正註釋4後的`錯誤。

輸出的結果為

Num1=12

Num2=18

Num3=16

Num1=4

Num2=2

Num3=19

注意:除在指定位置添加語句之外,不要改動程序中的其他內容。

試題程序:

#include

classTC

{

public:

//********1********

TC(inti,intj)

{

Numl=i;

Num3+=i:

}

voiddisplay()

{

cout<<"Num1="<<numl<<endl:

cout<<"Num2="<<num2<<endl;

cout<<"Num3="<<num3<<endl;

}

voidAddNum(inti)

{

Num3+=i;

}

private:

intNum1;

constintNum2;

staticintNum3;

//********2********

};

//********3********

voidfunc()

{

TCobj(1,2);

obj.Num1=4;

//********4********

obj.AddNum();

ohj.display();

}

voidmain()

{

TCmyObj(12,18);

myObj.display();

rune();

return;

}

答案:

(1)將“TC(inti,intj)”補充完整為“TC(inti,intj):Num2(j)”。

(2)應添加“friendvoidfunc();”。

(3)應添加“intTC::Num3=4;”。

(4)將“obi.AddNum()”補充完整為“obj.AddNum(2);”。

【解析】本題在第1處完成類的構造函數初始化類的成員變量,常數據成員也必須初始化,並且不能被更新,常數據成員的初始化只能通過構造函數的成員初始化類表進行,因此第1處的語句應為“TC(inti,intj):Num2(j)”,i用來初始化Num1和Num3,j初始化Num2。第2處完成fune的函數定義,由審題分析可知,函數fune為類的友元,故第2處的語句應為“friendvoidrune();”。第3處的語句是靜態成員的初始化,靜態數據成員的初始化格式為“(數據類型)<類名>::<靜態數據成員)=<初始值>”,因此第3處的語句應為“intTC::Num3=4;”。成員函數AddNum帶有一個整型參數,因此調用此函數時必須有參數傳入,可由程序運行結果分析得知傳入的參數值的大小。在fun函數內,定義TCobj(1,2)後,obj.Num1=1,obj.Num2=2,Num3=16+1=17,obj.Num1=4,Numl為4,obj。Num2為常數據成員,其值不會改變,調用AddNum函數後調用顯示函數顯示成員變量值,可知Num3為19,因此AddNum()的參數為19-17=2,即第4處的語句應為“obj.AddNum(2);”。