问题
填空题
有如下程序: #include<iostream> using namespace std; class GrandChild{ public: GrandChild( ){strcpy(name,"Unknown");} const 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<<gs->getName( )<<"住在"<<gs->getAddress( )<<endl; delete gs; return 0; } 程序的输出结果是______。
答案
参考答案:Unknown住在Shanghai
解析: 首先调用构造函数将name初始化为“Feifei”,再通过继承的getName( )函数调用构造函数将name更改为“Unknown”输出;直接输出“住在”,再调用getAddress( )函数输出Shanghai。