【发布时间】:2021-09-05 04:13:42
【问题描述】:
我有以下内容:
class A{
public:
virtual void OnStart() = 0;
void GameLoop(){
OnStart();
//Do other stuff
}
};
class B : public A{
void OnStart() override{
//Do Something
}
};
现在我遇到的问题是它要么根本不调用 OnStart,要么给我一个错误。我也尝试过this->OnStart(),但我尝试过的方法都没有奏效。
【问题讨论】:
-
请显示有错误的代码或不符合您的预期。您发布的代码没有这个问题,但其他的。对于初学者
virtual void OnStart = 0;语法无效 -
我试过你的代码here。并且它可以与其他人建议的添加的
()括号一起使用。只要确保你创建了一个 B 类而不是 A 类的实例。
标签: c++ inheritance virtual-functions