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

admin2012-01-20  23

问题 有如下程序:
   #include<iostream>
   using namespace std;
   class Base
   {
       public:
       Base (){cout<<"Base";}
   };
   class Derived:public Base
   {
       public:
           Derived(){cout<<"Derived";}
   };
   intmain()
   {
       Derived derived;
       Base *p;
       P=& derived;
       return 0;
   }
   执行上面程序的输出是______。

选项

答案BaseDerived

解析  创建Derived类型的对象将导致Derived的构造函数被执行,而执行Derived构造函数时,首先要执行其父类的构造函数,所以先输出"Base",然后输出"Derived";p是一个指向Base类型的指针,对其赋值不会引起构造函数的执行,所以本题输出为"BaseDerived"。
转载请注明原文地址:https://jikaoti.com/ti/NaL0FFFM
0

最新回复(0)