私は専門家ですが、オンラインで練習しているときに、別の問題に遭遇しました。これは関数テンプレートに関するものです。テンプレートを作成することはできますが、適切な演算子をオーバーロードする方法がわかりません。お知らせ下さい。
質問
同じパラメーター化された型の 3 つの要素のうち最大のものを返す関数テンプレートmaximumOfTree 。関数テンプレートはどのクラスに適用できますか? name,model,mass のフィールドを持つクラスtrainEngineを作成します。適切な演算子をオーバーロードして、largestOfThree関数テンプレートを 3 つのtrainEngineオブジェクトに適用できるようにします。
ここのところ ?
template<class T>
bool largestOfThree(T t1, T t2, T t3){
if(t1<t2&&t2<t3){
return true;
}else{
return false;
}
}
トレインエンジン
class trainEngine {
private:
string name;
string model;
string mass;
public:
friend bool operator<(trainEngine const& lhs) {
if (lhs.name<lhs.model&&lhs.model<lhs.mass){
return true;
}
};