Operatoren glaobal überladen?
-
Hallo, wieso geht das nicht?
class test { public: test(){zahl=1;} friend test operator+(int a,int b); private: int zahl; }; test operator+(int a,int b) { test t; t.zahl = a+b; return t; }er sagt mir das operator+ ein paramter des typs class besitzen muss,oder eine methode sein soll!
Ich möchte aber, das sich meine zahl aus zwei integern zusammensetzen lässt!
habe ich hier was falsch geschrieben , oder geht das so nicht?
ps: das ist nur zum test, die klasse soll keinen sinn haben...
-
Hallo,
Du versuchst den +Operator für int zu überladen. So etwas geht nicht. Du könntest aber einen Konstruktor sowie einen Zuweisungsoperator definieren, der ein int entgegenimmt. Dann dürfte es funktionieren.
-
Du versuchst den +Operator für int zu überladen. So etwas geht nicht.
Genaugenommen muss eine gültige Operator-Überladung immer mindestens einen Parameter mit benutzerdefiniertem Typ haben.
-
Btw. greifst du auf private variablen zu.
-
Wenn man ein guter Freund ist, darf man das.