C ++访问容器类方法

时间:2012-11-07 00:39:41

标签: c++

我正在学习C ++继承,而我正在尝试访问容器类方法。

我有一个环境类,它有一个名为 drawText()的公共方法。

环境类里面有一个Robot类机器人

robot = new Robot;

如何从机器人类中调用 drawText()

提前谢谢!

2 个答案:

答案 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_;
};
相关问题