有如下程序:#include<iostream>using namespace std;class Publication{//出版物類char n
有如下程序:
#include<iostream>
using namespace std;
class Publication{//出版物類
char name[30];
public:
Publication(char*name=”未知名稱”){
strcpy(this->name,name);
}
const char*getName()const{return name;}
virtual const char*getType()const{return“未知類型”;}
};
class Book:public Publication{//書類
public:
Book(char*name):Publication(name){}
virtual const char*getType()const{return“書”;}
}.
void showPublication(Publication&p){
cout<<P.getType()<<“:”<<P.getName()<<endl;
}
int main(){
Book book(”精彩人生”);
showPublication(book);
return 0;
}
運行時的輸出結(jié)果是
A.未知類型:未知名稱
B.未知類型:精彩人生
C.書:未知名稱
D.書:精彩人生
正確答案:D解析:因為getType是虛函數(shù),所以p.getType( )執(zhí)行繼承類的getType函數(shù),輸出“書”;p.getName( )執(zhí)行基類的getName-函數(shù),輸出“精彩人生”??偣草敵觥皶壕嗜松?,故選D)。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。