首页 > 试题广场 >

阅读下列程序,写出运行结果:

[问答题]
阅读下列程序,写出运行结果:

#include<iostream>
using namespace std;
class A
{
public :
      A(const char *s)  { cout << s << endl; }
      ~A() {}
};
class B : virtual public A
{
public :
       B(const char *s1, const char *s2) : A( s1 ) { cout << s2 << endl; }
};
class C : virtual public A
{
public :
C(const char *s1, const char *s2):A(s1) { cout << s2 << endl; }
};
class D : public B, public C
{
public :
D( const char *s1,const char *s2,const char *s3,const char *s4 ):
        B( s1, s2 ), C( s1, s3 ), A( s1 )
 { cout << s4 << endl; }
};
int main()
{
D *ptr = new D( "class A", "class B", "class C", "class D" );
delete ptr;
}

推荐

class A

class B

class C

class D

发表于 2018-05-07 15:15:50 回复(0)
调用子类构造要先调用父类构造,菱形继承按顺序构造
发表于 2020-06-15 18:54:20 回复(0)