在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。 #include<iostream> using namespace std; classA { public: A(){cout<<’A’;}

admin2013-05-30  32

问题 在下面程序的横线处填上适当的语句,使程序执行后的输出结果为ABCD。
   #include<iostream>
   using namespace std;
   classA
   {
   public:
   A(){cout<<’A’;}
   };
   class B:______
   {
   public:
   B(){cout<<’B’;}
   };
   class C:______
   {
   public:C(){cout<<’C’;}
   };
   class D:public B,public C
   {
   public:D(){cout<<’D’;}
   };
   void main(){D obj;)

选项

答案virtual A或virtual public A或virtual private A或virtual protected A与virtual A或virtual public A或virtual private A或virtual protected A

解析 由于每执行一次A类的构造函数,都将输出一个字符A,输出结果中只有一个A,且第一个输出为A,D继承B,可知必有B继承A。由题中要求C肯定继承某个类,所以,这里的C只能是继承于A,保证输出中只有一个A,A必须为虚基类,所以本题中的空都填virtual A。
转载请注明原文地址:https://jikaoti.com/ti/HbE0FFFM
0

最新回复(0)