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

admin2012-12-29  19

问题 有如下程序:
    #include
    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;执行时首先调用基类的构造函数,输出“RARENT”,然后调用派生类的构造函数输出“SON”。需要注意的是,语句PARENT*p;只是定义一个PARENT类的指针,并不调用构造函数。
转载请注明原文地址:https://kaotiyun.com/show/fMVp777K
0

随机试题
最新回复(0)