class A {...}
class B : public A {...}
class C : public A {...}
void M(A* a) {
A* aa = new B(* a)
...
}
int main()
{
B b = new B();
M(b);
...
}
だから私がしたいのは、それがタイプBかCかなどを知らなくても、Mに渡されるオブジェクト( "a")のコピーコンストラクターを呼び出すことです(上記の "new B(a)"の代わりに)。
もちろん、動的キャストを使用してnull ptrなどをチェックしたり、typeidを使用したりすることはできますが、もっと簡単な方法があるはずです。
前もって感謝します。