【发布时间】:2019-05-03 23:53:25
【问题描述】:
我想做的是:
- 在
Base类中有一个Sub类对象。 - 使
Sub类访问Base类的变量
Base.h
#include "Sub.h"
class Base
{
Sub subobject
int x;
}
子.h
#include Base // to acces x from .cpp file
class Sub: public Base
{
void changevar();
}
子.cpp
#include "Sub.h"
// I tried to include base in here but that did not work either
void Sub::changevar()
{
x++;
}
但我不断收到 undefines base class 和 undefined undeclared x 错误。 我该如何解决这个问题?
【问题讨论】:
-
你不能这样做。
-
@πάνταῥεῖ 就没有别的办法了吗?
-
sizeof(Base)是什么 -Base类的大小(以字节为单位)?它足够大以包含int和Sub。后者派生自Base,应包含Base的子对象。其中又包含x和subobject,其中又包含Base... 一路向下都是海龟。至于“任何其他方式” - 它取决于你想要实现的目标。练习的最终目标是什么?假设你以某种方式设法实现了你想要的——你将如何使用它?显示调用代码示例。 -
@IgorTandetnik 基类是游戏类,子类是逻辑类。游戏类需要逻辑类的一些函数,逻辑类需要游戏类的一些变量。那就是问题所在。我找不到解决办法
-
为什么
Logic派生自Game?听起来不像Logicis-aGame。可能Logic只需要一个指向Game的指针。
标签: c++ class inheritance subclass base-class