私は以下のクラスの関係を持っています。クラスDerivedをクローンしたいですが、 "抽象クラスをインスタンス化できません"というエラーが出ます。どのように派生クラスをクローンすることができますか?ありがとう。純粋な仮想メソッドを使用したC++クラスのクローニング
class Base {
public:
virtual ~Base() {}
virtual Base* clone() const = 0;
};
class Derived: public Base {
public:
virtual void func() = 0;
virtual Derived* clone() const {
return new Derived(*this);
}
};
これは何をしますか?クローンは基本的にオブジェクトレベルの操作です。具体的なオブジェクトがなければ、どのようにクローンを作るべきかを知っていますか? – Joe