- 相關(guān)推薦
2016年12月計算機(jī)二級C++上機(jī)改錯題訓(xùn)練
計算機(jī)二級對于很多考生來說還是比較有難度的,那么怎樣順利通過二級考試呢?這就需要大家平時多練習(xí)和找方法了。以下是百分網(wǎng)小編整理的2016年12月計算機(jī)二級C++上機(jī)改錯題訓(xùn)練,希望對大家有幫助!
改錯題一:
使用VC6打開考生文件夾下的工程kt8_1,此工程包含一個源程序文件kt8_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結(jié)果如下:
f1functionofderive
f2functionofbase
f4functionofbase
源程序文件kt8_1.cpp清單如下:
#include
classbase
{ public:
/**********found**********/
voidf1(){cout<<"f1functionofbase"<
virtualvoidf2(){cout<<"f2functionofbase"<
virtualvoidf3(){cout<<"f3functionofbase"<
voidf4(){cout<<"f4functionofbase"<<>
/**********found**********/
classderive::publicbase
{ voidf1(){cout<<"f1functionofderive"<
voidf2(intx){cout<<"f2functionofderive"<
voidf4(){cout<<"f4functionofderive"<<>
voidmain()
{ base*p;
deriveobj2;
/**********found**********/
p=obj2;
p->f1();
p->f2();
p->f4(); }
【參考答案】
(1)將void f1(){ cout<<"f1 function of base"<
改為:virtual void f1(){ cout<<"f1 function of base"<
(2)將class derive::public base
改為:class derive:public base
(3)將p=obj2;
改為:p=&obj2;
【試題解析】
(1)主要考查對虛函數(shù)的深刻理解,虛函數(shù)是動態(tài)聯(lián)編的基礎(chǔ),也是實現(xiàn)多態(tài)性的重要方法,它可以根據(jù)不同的情況動態(tài)的選擇執(zhí)行哪一個函數(shù)。在派生類中實現(xiàn)虛函數(shù)應(yīng)該滿足與基類的同名函數(shù)完全相同,并且使用關(guān)鍵字virtual修飾,本題中由輸出結(jié)果中的f1 function of derive可知,必須將基類base的成員函數(shù)f1()定義為虛函數(shù);
(2)主要考查對派生類定義格式的掌握,應(yīng)該使用“:”后面是繼承列表,而“::”是作用域符;
(3)主要考查類對象的定義與使用,p是一個指針類型的變量,給它的賦值應(yīng)該是一個地址,即使用取地址操作符&。
改錯題二:
使用VC6打開考生文件夾下的工程kt9_1,此工程包含一個源程序文件kt9_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結(jié)果如下:
4,5
20
源程序文件清單如下:
#include
classA
{ protected:
intn,m;
public:
voidset(inta,intb){m=a;n=b;}
voidshow(){cout<
/**********found**********/ }
classB:publicA
{ ints;
public:
voidset(){s=m*n;}
voidshows(){cout<
voidmain()
{
Bb;
/**********found**********/
b.set();
b.show();
b.set(); /**********found**********/
b.show();
}
【參考答案】
(1)在“}”后添加分號
(2)將b.set();改為:b.A::set(4,5);
(3)將b.show();改為:b.shows();
【試題解析】
(1)主要考查對類定義格式的掌握,類的結(jié)尾應(yīng)該使用";";
(2)主要考查對基類與派生類函數(shù)調(diào)用關(guān)系的掌握,根據(jù)所要求的輸出結(jié)果,應(yīng)該調(diào)用的函數(shù)為類A的set,而不是類B自身的set函數(shù),應(yīng)該避免調(diào)用的二義性;
(3)主要考查對繼承與派生的理解,由所要求輸出結(jié)果可知正確:b.shows()。
【12月計算機(jī)二級C++上機(jī)改錯題訓(xùn)練】相關(guān)文章:
2016年12月計算機(jī)二級C++上機(jī)選擇題訓(xùn)練10-03
2016年12月計算機(jī)二級C++上機(jī)練習(xí)09-28
2016年9月計算機(jī)二級《C++》上機(jī)題庫及答案09-01
2016年9月計算機(jī)二級《C++》上機(jī)試題與解析11-14
計算機(jī)二級《C++》上機(jī)試題及答案08-12
2016計算機(jī)二級《C++》上機(jī)沖刺題09-05