文字列のベクトルと自分のデータ型のベクトルを処理する集合演算を提供するC++クラスを作成したいと思います。データ型ごとに異なる関数を作成するのではなく、これを行う簡単な方法はありますか?これまで、文字列ベクトルの操作を記述してきました。以下に私の集合和集合の例を示します。
vector<string> SetOperations::set_union(vector<string> set1,
vector<string> set2) {
for(std::vector<int>::size_type i = 0; i < set1.size(); i++) {
set1.push_back(set2.at(i));
}
return set1;
}
だからまた同じことをしたいのですが、どこが様々なメンバーの構造体であるstring
かということです。my_data_type
次のようになっているとしましょう。
struct my_data_type {
int label;
vector<string> x;
vector<string> y;
string str;
};
各データ型の関数も私の関数ほど単純ではありません。set_union(...)
なぜならmy_data_type
、集合の共通部分の場合、の各メンバーの同等性をテストする必要があるからです。
また、私はC ++にまったく慣れていないので、既存の関数についてのコメントもいただければ幸いです。
どうもありがとう。