代码:
#include <iostream>
using namespace std;
class A
{
public:
A(char *s)
{
cout<<s<<endl;
}
};
class B:public A
{
public:
B(char *s1, char *s2):A(s1)
{
cout<<s2<<endl;
}
};
class C:public A
{
public:
C(char *s1,char *s2):A(s1)
{
cout<<s2<<endl;
}
};
class D:public B, C
{
public:
D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s3,s4)
{
cout<<s4<<endl;
}
};
int main()
{
D d("class A","class B","class C","class D");
return 0;
}
运行结果:
学习心得:
多重继承,类A是类B,类C的基类,而类D又是类B,类C的基类,所以在主函数里声明一个类D的对象,用到了两次类A,一次类B,一次类C,一次类D。
本文探讨了C++中多重继承的概念,通过实例展示了如何在一个类中调用多个基类构造函数,以及类对象创建的过程。

被折叠的 条评论
为什么被折叠?



