superクラスで引数aのコンストラクタを定義(中身は適当です。)して、
subクラスでオーバーライドしています。
class super {
public:
super(int a) { a=a; }
};
class sub : public super {
public:
sub(int a) { a; } //エラー箇所
};
int main() {
sub s(1);
return 0;
}
>> error C2512: 'super' : クラス、構造体、共用体に既定のコンストラクターがありません。
と言われてしまいます。
subクラスを継承した孫クラスなども順々に作っていきたいのですが、
地道に
protected:
super(){ }
などを作って行かないといけないのでしょうか?
何かこれに対する対策は無いのでしょうか?