有如下程序:#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;
}
运行时的输出结果是
A.未知类型:未知名称
B.未知类型:精彩人生
C.书:未知名称
D.书:精彩人生
正确答案:D解析:因为getType是虚函数,所以p.getType( )执行继承类的getType函数,输出“书”;p.getName( )执行基类的getName-函数,输出“精彩人生”。总共输出“书:精彩人生”,故选D)。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
