【发布时间】:2015-04-13 08:17:21
【问题描述】:
我基本上想做以下事情:
class Base{
void dosomestuff(Derived instanceOfDerived)
{
//Something
}
};
class Derived : public Base{
//Something
};
Base 需要 Derived 的 include,但要声明 Derived,它需要先声明 Base。前向声明不起作用,因为我不想使用指针。
现在我的问题是:我如何在没有指针的情况下完成它?这甚至可能吗?或者是使 instanceOfDerived 成为指针的唯一可能性?
【问题讨论】:
-
对不起。你是完全正确的。我改了例子,问题还是一样的。
-
如果您想引用尚未定义的内容,您需要某种间接方式,例如指针或引用。 (请注意,您不能在基类的定义中使用派生类,只能通过名称引用它;您需要移动函数定义。)
标签: c++ include instance base derived