有如下程序: #include <iostream> using namespace std; class x { protected: int a; public: x() { a=1; }

admin2013-05-30  34

问题 有如下程序:    #include <iostream>    using namespace std;    class x    {    protected:       int a;    public:       x() { a=1;  }    };    class x1  : virtual public x    {    public:       x1()       {          a+=1;          cout<<a;       }    };   

选项 A、1
B、123
C、242
D、244

答案8

解析 本题程序中引入了虚基类。在主函数中,执行语句“y obj;”时,先执行虚基类x的构造函数,使a=1,然后执行类x1的构造函数,使a=2,并输出值2。再执行类x2的构造函数,使a=4,并输出值4。最后执行类y的构造函数,输出值4。
转载请注明原文地址:https://jikaoti.com/ti/ZmE0FFFM
0

最新回复(0)