我正在学习 C++ 继承,并且正在尝试访问容器类方法。
我有一个Environment类,它有一个名为drawText()的公共方法。
Environment类里面有一个 Robot 类机器人:
robot = new Robot;
如何从Robot类中调用drawText()?
先感谢您!
我正在学习 C++ 继承,并且正在尝试访问容器类方法。
我有一个Environment类,它有一个名为drawText()的公共方法。
Environment类里面有一个 Robot 类机器人:
robot = new Robot;
如何从Robot类中调用drawText()?
先感谢您!
您可以添加 Robot.h 环境参考
//robot.h
namespace envrNamespace
{
class Environment;
};
namespace rbtNamespace
{
class Robot
{
Environment* _parent;
void setParent(Environment* _env) {_parent = _env;};
Environment* getParent() {return _parent;};
//...
}
};
//Environment.cpp
Robot* robot = new Robot();
robot->setParent(this);
这就是你需要的:
class Environment {
public:
Environment() { }
~Environment() { }
setRobot(Robot* robot) {
robot_ = robot;
}
drawTest() { }
private:
Robot* robot_;
};
class Robot {
public:
Robot(Environment* env) {
env_ = env;
}
void foo() {
env_.drawTest();
}
private:
Environment* env_;
};