在下列的程序的横线处填上适当的语句,使该程序的输出为12。 #include<iostream.h> using namespace std; class Base { public: int a,

admin2013-02-27  42

问题 在下列的程序的横线处填上适当的语句,使该程序的输出为12。
     #include<iostream.h>
     using namespace std;
    class Base
     {
     public:
     int a,b;
     Base(int i){a=i;}
     };
    class Derived:public Base
    {
     int a;
     public:
     Derived(int x):Base(x),b(x+1){};
     void show()
     {
        ______;//输出基类数据成员a的值。
        cout<<b<<endl;
     }
   };

   void main()
   {
   Derived d(1);
     d.show();
     return 0;
   }

选项

答案cout<<Base::a

解析 此题考查的是基类和派生类的构造函数。派生类构造函数的执行顺序;首先调用基类的构造函数,调用顺序按它们被继承时说明的顺序;然后调用子对象的构造函数,调用顺序按它们在类中说明的顺序;最后是派生类构造函数中的内容。此题要求结果是输出12,分析题目:首先调用基类的构造函数,然后是调用子对象的构造函数,横线处要求输出基类成员a的值,填入cout<<Base::a即可。
转载请注明原文地址:https://jikaoti.com/ti/bjL0FFFM
0

最新回复(0)