このようなクラスを持つ最もきちんとした方法は何ですか?
class Object
{
public:
virtual Object* Find(string name);
};
派生クラスのFind()
メソッドが、次のようなことをしなくても派生クラスの型を自動的に返すように実装されています。
class DerivedObject : public Object
{
public:
DerivedObject* Find(string name);
};
手動?
エクストラ:実際に私の実際の実装では、static
関数ではなく関数の束virtual
です。と のような関数がstatic Object* Object::Find(string name)
ありstatic GameObject* GameObject::Find(string name)
ます。