仮想関数を未定義で、別のメソッドに使用できますか?
具体的には、以下のソースの様な処理がしたいのですが。
class base {
public:
void function1(); //下の仮想関数を用いる関数
virtual void function2(); //仮想関数
};
void base::function1()
{
function2(); //baseクラスでは、未定義
}
class derive : base {
void function2();
}
void derive::function2(){ //こちらの派生クラスで仮想関数を定義
//処理
}
どうでしょうか?よろしくお願いします。
ごめんなさい。自己解決しました。
まったくの調べ不足でした。
一応説明を加えておきます。
上記の場合には純粋仮想関数を用います。
それには、以下のような記述をします。
class base {
public:
void function1(); //下の仮想関数を用いる関数
virtual void function2() = 0; //純粋仮想関数
};
これにより、派生クラスでのオーバーライドを必須とします。
申し訳ありませんでした。
解決
ツイート | ![]() |