C++相談室 part94
■ このスレッドは過去ログ倉庫に格納されています
0438営利利用に関するLR審議中@詳細は自治スレへ
2012/03/29(木) 09:39:55.77{
virtual Base* Duplicate() const { return new Base(*this); }
};
class Derived : public Base
{
virtual Derived* Duplicate() const { return new Derived(*this); }
};
という複製処理を仮想関数として作成する場合、
Derived::Duplicate()の戻り値がDerived*でよいのは仕様として決まっていますか?
Visual Studioではちゃんと仮想関数として動くのですが。
それとも、どちらもBase*としておくべきですか?
■ このスレッドは過去ログ倉庫に格納されています