私はC++の継承を学び、コンテナクラスのメソッドにアクセスしようとしています。
drawText()というパブリックメソッドを持つEnvironmentクラスがあります。
Environmentクラスには、Robotクラスのロボットが含まれています。
robot = new Robot;
Robotクラス内からdrawText()を呼び出すにはどうすればよいですか?
前もって感謝します!
私はC++の継承を学び、コンテナクラスのメソッドにアクセスしようとしています。
drawText()というパブリックメソッドを持つEnvironmentクラスがあります。
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_;
};