baseclassのオブジェクトまたはderivedclass(の派生クラス)のオブジェクトを返す factorymethod があります baseclass。派生クラスには、virtual void foo(int x)引数を 1 つ取るメソッドがあります。baseclassただしvirtual void foo()、引数なしで持っています。
私のコードでは、ファクトリ メソッドは、 class のオブジェクトを明確に指す bar 型のポインターを返しますderivedclass。ただし、これは実行時にのみ認識されるfoo()ため、引数を取らないというコンパイラ エラーが発生します。このポインターを型のポインターにキャストできますderivedclassか?
std::auto_ptr<baseclass> bar = classfactory::CreateBar(); //returns object of class derivedclass
bar->foo(5);
class baseclass
{
public:
virtual void foo();
}
class derivedclass : public baseclass
{
public:
virtual void foo(int x);
}