有如下程序: #include using namespace std; class GrandChild{ public: GrandChild(.){strcpy(name,”Unknown”);} eonst char*getName()const{

admin2010-04-08  51

问题 有如下程序:
#include
using namespace std;
class GrandChild{
public:
GrandChild(.){strcpy(name,”Unknown”);}
eonst char*getName()const{return name;}
virtual char*getAddress()const=0;
private:
char name[20];
};
class GrandSon:public GrandChild{
public:
GrandSon(char*name){}
char半getAddress()const{return”Shanghai”;}
};
int main(){
GrandChild *gs=new GrandSon(”Feifei”);
cout<getName()<<”住在”<getAddress()<delete gs;
return 0;
}
运行时的输出结果是【  】。

选项

答案Unknown住在Shanghai

解析 定义Grandson(“Feifei”)时,继承类中构造函数没有任何操作,则执行的基类构造函数中把name赋值为“unknown”,所以gs->getName( )输出name的值“Unknown”。gs->getAddress( )执行继承类中的getAddress函数,输出“Shanghai”。总共输出“Unknown住在Shanghai”。
转载请注明原文地址:https://kaotiyun.com/show/EAjp777K
0

最新回复(0)