有如下程序: #include #include using namespace std; class Appliance{ public: Applia

admin2019-04-18  32

问题 有如下程序:
       #include
       #include
       using namespace std;     
       class Appliance{
       public:
           Appliance(string t="A"):type(t) { cout<           ~Appliance() { }
       public:
           string type;
       };
       class TV:public Appliance{
       public:
           TV():size(0) { cout<           TV(int s):Appliance("T"), size(s) { cout<           ~TV() { }
       private:
           int size;
       };
       int main(){
           TV room1,room2(41);
           return 0;
       }
运行时的输出结果是

选项 A、041
B、0T41
C、A0A41
D、A0T41

答案D

解析 执行派生类构造函数的顺序是:1、调用基类构造函数,2、调用子对象构造函数,3、再执行派生类构造函数,所以本题中定义room1时,先调用基类构造函数输出A,然后执行TV的构造函数输出0,定义room2时,调用TV的构造函数,输出T41,所以结果为A0T41,答案为D选项。
转载请注明原文地址:https://jikaoti.com/ti/bRt0FFFM
0

最新回复(0)