单选题 下面程序的结果是
    #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. constructA   destructA
  • B. constructA   constructA   destructA   destructA
  • C. constructA   constructA   constructA   destructA   destructA   destructA
  • D. constructA   constructA   constructA   constructA   destructA   destructA   destructA   destructA
【正确答案】 B
【答案解析】解析:类D继承了类C和类B,所以在构造的时候分别构造类B和类C。