-3

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

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

4

1 回答 1

2

阅读这个这个

按照我的理解,你的对象是这样设置的,其中 X 是所有对象的超类:

   X
  /|\
 B C D
  \|/
   A

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

请参阅此示例 C++ 代码帖子,它举例说明了您想要做什么。

但是,我应该指出,您的继承方案存在一些问题。在大多数情况下,最好选择组合而不是继承。您可能想问自己定义的对象之间的关系是什么:B 是 X、C 是 X 还是 D 是 X?还是B有一个X?C?D? 对 A 提出同样的问题。完成后,您可能会重新组织您的代码,使其不相关。但是,如果您发现这种组织是不可避免的,您可能需要参考一些有关 C++ 的权威资料,了解对象如何管理其超类数据。在这种情况下,我认为 A 可能拥有 X 的三个实例。可能需要做一些额外的工作来确保 A 在 B、C 和 D 中只拥有一个共同的 X 祖先。我完全不知道头...

于 2012-04-28T06:25:20.433 回答