我试图通过调用超类中的方法来调用子类中的方法。
以下是一个例子:
#include <iostream>
using namespace std;
class Robot {
public:
Robot() {
printf("Robot init\n");
update();
}
virtual void update() {
printf("Robot update\n");
}
};
class Terminator: public Robot {
public:
Terminator(): Robot() {
printf("Terminator init\n");
}
virtual void update() {
printf("Terminator update\n");
}
};
int main() {
Terminator terminator;
Robot* robot = &terminator;
}
此代码返回(带注释)
Robot init
Robot update <--- not what I want
Terminator init
如何让它返回
Robot init
Terminator update <--- what I want
Terminator init
在机器人中使用update
机器人构造函数?