【发布时间】:2010-03-06 14:28:42
【问题描述】:
我在使用 C++ 方面还很陌生,实际上我遇到了一个问题。
我有一些 A、B、C 类定义如下(伪代码)
class A
{
...
DoSomething(B par1);
DoSomething(C par1);
...
}
class B
{
A parent;
...
}
class C
{
A parent;
...
}
问题是:
这个怎么做?如果我只是这样做(就像我一直在 c# 中所做的那样),它会给出错误。我非常了解这其中的原因。 (如果我将 B 和 C 的引用(包含)添加到它自己的标题中,则 A 尚未声明)
有什么办法可以解决这个问题? (恕我直言,使用 void* 指针不是方法)
【问题讨论】:
-
你想让A成为B和C的父类吗?
-
另一件事:你真的没有对 B 和 C 中的父级的 reference。如果你有:
A a; B b(a); C c(a);那么将有三个不相关的 A 实例,而不是一个实例有两个对象引用它。如果这是您想要的,请使用指向 A 成员的指针。
标签: c++ oop class parent-child