填空题
有如下程序:
#include<iostream>
using namespace std;
class GrandChild
public:
GrandChild()strcpy(name,"Unknown");
const char *getName()constreturn name;
virtual char *getAddress()const=0;
private:
char name[20];
;
class GrandSon:public GrandChild
public:
GrandSon(char *name)
char *getAddress()constreturn"Shanghai";
;
int main()
GrandChild *gs=new GrandSon("Feifei");
cout<<gs—>getName()<<"住在"<<gs—>getAddress()<<end1;
delete gs;
return 0;
运行时的输出结果是______。
【正确答案】
1、unknown住在Shanghai
【答案解析】[解析] 定义Grandson("Feifei")时,继承类型中构造函数没有任何操作,则在基类构造函数中把name赋值为"Unknown",所以gs—>getName()输出name的值"Unknown”。gs—>getAddress()执行继承类中的getAddress函数,输出"Shanghai"。总共输出“Unknown住在Shanghai”。