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

admin2012-01-20  31

问题 在下面的程序的横线处填上适当的语句,使该程序的输出为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;
   }
   };
   int main()
   {
   Derived d(1);
   d.show();
   return 0;

选项

答案cout<<Base::a

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

最新回复(0)