まず、この質問のタイトルがあいまいな場合はお詫び申し上げます。
つまり、関数内の条件に基づいて、多数のデータ型 (すべて私が定義したもの) のいずれかを返す関数を作成しようとしています。本質的に、私がやろうとしていることはこれです:
{
A itemA;
B itemB;
C itemC;
...
Do some calculations
...
if (some condition)
return itemA;
else if (some other condition)
return itemB;
else
return itemC;
}
もちろん、この例は少しわざとらしいですが、私の言いたいことは通じると思います。
クラス A、B、および C はすべて、他のクラス S の子クラスですが、S を返すとデータが失われるため、S を返したくありません。さらに、戻り値の型がオーバーロードされても機能は実際には変わりません。それでは、これはテンプレート関数である必要がありますか、それとも他に何かする必要がありますか?
ありがとう、