有如下程序: #include<iostream> using namespace std; class GrandChild{ public: GrandChild( ){strcpy(name,"Unknown"

admin2011-01-19  31

问题 有如下程序:
   #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。
转载请注明原文地址:https://kaotiyun.com/show/aTVp777K
0

最新回复(0)