有如下程序: #include <iostream> using namespace std; class PARENT { public: PARENT() { cout << "PARENT"; }

admin2013-02-27  29

问题 有如下程序:
   #include <iostream>
   using namespace std;
   class PARENT
   {
      public:
         PARENT() { cout << "PARENT"; }
   };
   class SON: public PARENT
   {
      public:
         SON() { cout << "SON"; }
   };
   int main()
   {
       SON son;
       PARENT  *p;
       p = &son;
       return 0;
   }
    执行上面程序的输出是【  】。

选项

答案PARENTSON

解析 本题考查了派生类的构造。在构造一个派生类的时候,会先构造其基类。所以主函数一开始在定义SON类的对象son时,会先执行PARENT类的构造函数再执行SON类的构造函数,输出“PARENTSON”。接下来定义了一个PARENT类指针p,此处并未创建任何对象,所以不会调用构造函数。第3条语句让指针p指向son对象,此步只改变了指针p的值,所以也没有输出。故最终输出的结果就是:PARENTSON。
转载请注明原文地址:https://kaotiyun.com/show/HZVp777K
0

最新回复(0)