C++ C类和x2B类+;。多重继承

C++ C类和x2B类+;。多重继承,c++,oop,C++,Oop,我有一个关于多重继承的问题。 我有类A。类A有几个继承者,例如B、C、D 类X是类B、C、D的继承者 如何将参数从类X的构造函数传递给类A的构造函数 和 按照我的理解,您的对象设置如下,其中X是所有对象的超类: X /|\ B C D \|/ A 您可以链接构造函数。因此,在类X的构造函数的定义中,传递构造B、C、D所需的数据,以及那些根据需要构造X的数据 看一篇举例说明你想做什么的帖子 但是,我应该注意到,您的继承方案存在一些问题。在大多数情况下,最好选择组合而不是继承

我有一个关于多重继承的问题。 我有类A。类A有几个继承者,例如B、C、D

类X是类B、C、D的继承者 如何将参数从类X的构造函数传递给类A的构造函数

按照我的理解,您的对象设置如下,其中X是所有对象的超类:

   X
  /|\
 B C D
  \|/
   A
您可以链接构造函数。因此,在类X的构造函数的定义中,传递构造B、C、D所需的数据,以及那些根据需要构造X的数据

看一篇举例说明你想做什么的帖子


但是,我应该注意到,您的继承方案存在一些问题。在大多数情况下,最好选择组合而不是继承。你可能想问问自己,你定义的对象之间的关系是什么:B是X,C是X,D是X?或者B有一个X?CD问A同样的问题。当你完成时,你可能会重新组织你的代码,使之不相关。但是,在您发现这个组织不可避免的情况下,您可能需要引用C++中有关对象如何管理其超类数据的权威性来源。在这种情况下,我认为A可能拥有X的三个实例。可能需要做一些额外的工作,以确保A在B、C和D之间只拥有一个共同的X祖先。我不知道从我的头顶上…

B、C和D必须从A继承X才能只有一个副本。另一个问题是B、C,D构造函数必须将参数传递给X。他们可能不会这样做。要知道“祖父母”课程的细节是自找麻烦的。Moing Duck、Adam Miller、juanchopanza,非常感谢您的回答!“是的,谢谢你,”阿达米勒把这个作为你自己的答案,而不是重拨编辑