- 相關推薦
計算機二級C++練習題:改錯題及答案
為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜索整理的計算機二級C++練習題:改錯題及答案,供參考練習,預祝考生們考出自己理想的成績!
計算機二級C++練習題:改錯題及答案
使用VC6打開考生文件夾下的工程kt8_1,此工程包含一個源程序文件kt8_1.cpp,但該程序運行有問題,請改正程序中的錯誤,使程序的輸出結果如下:
f1functionofderive
f2functionofbase
f4functionofbase
源程序文件kt8_1.cpp清單如下:
#include
classbase
{public:
/**********found**********/
voidf1(){cout<<"f1functionofbase"<<ENDL;}
virtualvoidf2(){cout<<"f2functionofbase"<<ENDL;}
virtualvoidf3(){cout<<"f3functionofbase"<<ENDL;}
voidf4(){cout<<"f4functionofbase"<<="">
/**********found**********/
classderive::publicbase
{voidf1(){cout<<"f1functionofderive"<<ENDL;}
voidf2(intx){cout<<"f2functionofderive"<<ENDL;}
voidf4(){cout<<"f4functionofderive"<<="">
voidmain()
{base*p;
deriveobj2;
/**********found**********/
p=obj2;
p->f1();
p->f2();
p->f4();}
【參考答案】
(1)將voidf1(){cout<<"f1functionofbase"<<ENDL;}
改為:virtualvoidf1(){cout<<"f1functionofbase"<<ENDL;}
(2)將classderive::publicbase
改為:classderive:publicbase
(3)將p=obj2;
改為:p=&obj2;
【試題解析】
(1)主要考查對虛函數的深刻理解,虛函數是動態聯編的基礎,也是實現多態性的重要方法,它可以根據不同的情況動態的選擇執行哪一個函數。在派生類中實現虛函數應該滿足與基類的同名函數完全相同,并且使用關鍵字virtual修飾,本題中由輸出結果中的f1functionofderive可知,必須將基類base的成員函數f1()定義為虛函數;
(2)主要考查對派生類定義格式的掌握,應該使用“:”后面是繼承列表,而“::”是作用域符;
(3)主要考查類對象的定義與使用,p是一個指針類型的變量,給它的賦值應該是一個地址,即使用取地址操作符&。
【計算機二級C++練習題:改錯題及答案】相關文章:
2016計算機二級《C++》練習題及答案08-14
2016計算機二級考試C++練習題及答案07-15
2017計算機二級C++考前練習題及答案09-11
2017計算機二級C++基礎練習題及答案08-07
2017計算機二級C++備考練習題及答案09-22
2017計算機二級C++操作練習題附答案07-12