私は 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のような「スーパーコンストラクター」の呼び出しに関係していると思います。これはどのように行うことができますか?