我期待「我的遊戲」打印出來,但我得到「基地」 這隻發生在課堂內部使用方法。C++覆蓋方法不起作用
#include <iostream>
namespace Monster { class App {
public:
App(){}
~App(){}
void run(){
this->speak();
}
void speak(){
std::cout << "Base" << "\n";
};
};}; // class/namespace
class MyGame : public Monster::App {
public:
MyGame(){}
~MyGame(){}
void speak(){
std::cout << "My Game" << "\n";
};
};
int main(){
MyGame *child = new MyGame;
child->run();
return 0;
}
化妝'speak'一個'virtual'函數,那麼 – 2014-12-04 19:11:07
是的是做到了。顯然需要閱讀關於C++的更多信息 – 2014-12-04 19:13:20
另外閱讀關於新的C++ 11關鍵字「覆蓋」。這非常有用。 – Silicomancer 2014-12-04 19:45:38