我有一个关于多重继承的问题。我有 A 类。A 类有几个继承者,例如 B、C、D。
X 类是 B、C、D 类的继承者 如何将参数从 X 类的构造函数传递给 A 类的构造函数?
按照我的理解,你的对象是这样设置的,其中 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 祖先。我完全不知道头...