0

Java の経験は豊富ですが、C++ は初めてです。

メソッドが必要です。簡単な例は set union で、set<int>と of のパラメーターで動作しますset<bool>が、他の型は動作しません。

現時点ではメソッド名をオーバーロードしていますが、メソッド本体で同様のコードを多数複製しています。

より良い方法はありますか?ありがとう!

4

2 に答える 2

2

Function Templateを書くことができます。
ただし、引数のタイプに関係なく、同様の操作を実行している場合は、これを行うことができます。データ型ごとに異なる操作を実行している場合は、基本的に問題に戻るテンプレート関数を特殊化する必要があります。

于 2012-06-26T10:30:03.513 に答える
1
template <typename T>
void func(const std::set<T> &param)
{
  // your staff
}

//....

int main()
{
  std::set<int> int_set;
  std::set<bool> bool_set;

  func(int_set);
  func(bool_set);
}
于 2012-06-26T10:33:21.060 に答える