有如下程序: #include using namespace std; class Base { public: Base(){cout

admin2012-12-29  25

问题 有如下程序:
    #include
    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类型的对象将导致Deriwd的构造函数被执行,而执行Derived构造函数时,首先要执行其父类的构造函数,所以先输出“Base”,然后输出“Derived”;p是一个指向Base类型的指针,对其赋值不会引起构造函数的执行,所以本题输出为“BaseDerived”。
转载请注明原文地址:https://kaotiyun.com/show/1wVp777K
0

最新回复(0)