抽象クラスには内部仮想関数があります。抽象クラスは、後で実装する内部仮想クラスを持つことができますか?
私は次のことを試しました:
#include <bits/stdc++.h>
using namespace std;
class C1 {
public:
class Child {
int tmp;
virtual int getint() = 0;
};
virtual Child getChild() = 0;
};
class C2: public C1 {
public:
class Child {
int getint()
{
return 10;
}
} c;
Child getChild()
{
return c;
}
};
int main() { return 0; }
Childは、派生クラスでオーバーライドされる抽象クラスです。そして、実装されたChildを使用して関数を定義できることを願っています。
ただし、エラーが発生しました:
メンバー関数 'virtual C1::Child C1::getChild()' の抽象戻り型が無効です
仮想関数を実装するのと同じように、派生クラスに内部抽象クラスを実装することはできませんか?