我要扩展一个 C++ 类,但绝对没有该语言的背景。谷歌搜索并没有帮助我理解如何解决编译错误:
Constructor for 'JRB2World' must explicitly initialize the base class 'b2World' which does not have a default constructor
所以,有这个 b2World.h
class b2World
{
public:
b2World(const b2Vec2& gravity);
~b2World();
// ...
及其.cpp:
b2World::b2World(const b2Vec2& gravity)
{
// ...
}
b2World::~b2World()
{
// ...
}
我的班级标题:
#import "Box2D.h"
class JRB2World : public b2World {
float factor;
public:
JRB2World(const b2Vec2& gravity);
~JRB2World();
float getFactor();
void setFactor(float f);
};
我的班级实现:
JRB2World::JRB2World(const b2Vec2& gravity) {
// Constructor for 'JRB2World' must explicitly initialize the base class 'b2World' which does not have a default constructor
}
JRB2World::~JRB2World() {
}
float JRB2World::getFactor(){
return factor;
}
void JRB2World::setFactor(float f){
factor = f;
}
我想这与调用 java 或 objc 中的“超级构造函数”有关。如何才能做到这一点?