私は、Multinumber型のものを多態的に保持して管理できる設定クラスを持っています。これは、Pair、Rational、またはComplexタイプのオブジェクトにすることができます。私が実行している問題は、このクラスは動的なメモリ管理が必要であり、多くの場合、以下のような関数のように、どのタイプを割り当てるべきか分かりません。セットは型にとらわれないので、Multinumber * var = new Complex、Rational、またはPairを実行するはずです。私が最初に追加しているもののタイプをチェックしたり、この情報をスライス効果なしで別のデータタイプに保存する方法はありますか?私はこの問題を持っている一つの機能はこれです:多型データ型に動的にメモリを割り当てるにはどうすればよいですか?
bool Set::addElement(Multinumber* newElement)
{
bool success = false;
if(isFull())
{
resize();
}
if(!isMember(newElement))
{
setArray[numElements] = newElement;
numElements++;
success = true;
}
return success;
}
は編集:私は、このようなオペレータ+が呼び出されるとすぐに送信しなければならない場合など、この私はおそらく割り当てることができだけ場所での状況について話していますここにオブジェクトがあり、呼び出し元のクラスはその型が何であるか分からない。私のコードではSetオペレータ+オーバーロードで発生します。なぜなら、私はSetが何を格納しているのか分からないからです。
'setArray'に*ポインタ*を格納しているようですが、これは問題ありません。あなたは何を持っているのですか? –