Ich lerne Vorlagen und kam Funktionsvorlagen. Ich habe den folgenden Code aus meiner Kreativität oder nur Neugier entwickelt.Funktionsvorlage mit Operator überladen
#include<iostream>
using namespace std;
template <typename type>
type Max(type a, type b)
{
return a > b ? a : b;
}
class Foo
{
public:
string s1;
/*
Foo& operator>(Foo &obj)
{
if (this->s1.length() > obj.s1.length() ? true : false)
return *this;
return obj;
}*/
};
int main()
{
cout << Max(2, 3) << endl;
cout << Max(2.0, 3.0) << endl;
Foo a, b;
a.s1 = "AB";
b.s1 = "ABC";
//cout<<Max(a, b).s1;
}
Meine Idee ist Foo ein Objekt und b die Vorlage Max-Funktion zu übergeben und überlastet den ‚>‘ Operator und das String-Objekt druckt mit größerer Länge. Bin ich auf dem richtigen Weg oder sollte es mit Klassenvorlagen zusammenhängen?
'Operator>' kehrt normalerweise 'bool'. – aschepler