我正在学习C ++继承,而我正在尝试访问容器类方法。
我有一个环境类,它有一个名为 drawText()的公共方法。
环境类里面有一个Robot类机器人:
robot = new Robot;
如何从机器人类中调用 drawText()?
提前谢谢!
答案 0 :(得分:3)
您可以添加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);
答案 1 :(得分:2)
这就是你需要的:
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_;
};