これは一般的なオブジェクト指向プログラミングの質問です:
基本クラス B が与えられたとします。
class B {
// member functions
}
そして、次のファクトリ メソッドを使用して B のインスタンスを作成するように指示されたとします。
B createB(/* arguments */) {
b = ...
return b;
}
さて、問題は B から派生させる必要があることですが、createB() のように初期化するにはどうすればよいでしょうか?:
class D : B {
D() {
/* need to use createB() to
initialize the base because
no equivalent constructor
exists. */
}
}