【參考答案】
(1)將class D2:public Base
改為:class D2:virtual public Base
(2)將class D3::public D1,public D2
改為:class D3:public D1,public D2
(3)將d.f();改為:d.Base::f();
【試題解析】
(1)主要考查對虛基類的理解,虛基類可以解決二義性的問題,其定義方式是在繼承列表中使用virtual關(guān)鍵字,使用虛基類可以避免程序運行中對基類函數(shù)調(diào)用的不惟一;
(2)主要考查對類的定義方法的掌握,“::”為作用域符,此處應(yīng)該使用“:”,因為后面是繼承列表;
(3)主要考查對虛基類函數(shù)調(diào)用過程的理解,只有使用"::"限定才能訪問基類函數(shù),否則將會調(diào)用自身的函數(shù),如果該類沒有該函數(shù)的定義,則會自動調(diào)用其父類的該函數(shù),所以必須使用“::”符號。
二、簡單應(yīng)用題
請編寫一個函數(shù)inlinelongsum(intn),用遞歸函數(shù)完成運算:sum(n)=1*1+2*2+???+n*n,遞歸表達式為sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件kt10_2.cpp中。
請勿修改主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)sum的花括號中填寫若干語句。
文件kt10_2.cpp的內(nèi)容如下:
#include
inlinelongsum(intn)
{
}
voidmain()
{ intn;
cout<<"輸入n:";
cin>>n;
cout<<"結(jié)果為:"< 【參考答案】 inline long sum(int n) { if(n==1) return 1; else return n*n+sum(n-1); } 【試題解析】 本題考查對遞歸函數(shù)掌握的熟練程度。遞歸的終止條件為n=1時,值為1。
計算機等級考試二級VB上機試題及答案匯總
計算機等級考試二級VB模擬試題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |