A-A+
在下面程序的横线处填上适当的语句 使程序执行后的输出结果为ABCD。 include<ios
问题详情
在下面程序的横线处填上适当的语句,使程序执行后的输出结果为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
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。