问题 单项选择题

下面程序的结果是( )。    #include<iostream.h>    class A    { public:      A( ) { cout < < "construtA" < < end1;}      virtual ~A( ) { cout < < "destructA" < < end1;} };    class B:public A    { };    class C:public A    { };    class D:public B,public C    { };    void main( )    { Dd;}

A.constructAdestructA

B.constructAconstructAdestructAdestructA

C.constructAconstructAconstructAdestructAdestructAdestructA

D.constructAconstructAconstructAconstructAdestructAdestructAdestructAdestructA

答案

参考答案:B

解析:类D继承了类C和类B,所以在构造的时候分别构造类B和类C。

单项选择题
单项选择题