operator ueberladen



  • Und wieder einmal wende ich mich in einer duesteren Stunde an euch um mir auf die Sprünge zu helfen....

    Also ich möchte einen unären Operator überladen:

    #define MWST 1.16
    
    class systeme{
    ...
    
     float systeme::operator - (float a){				//MWST Operatorueberladung
    
    		double out;
    		out=a*MWST;
    		return out;}
    
    ...
    

    und zwar soll er wenn ich eine double zahl a nehme und b= -a; schreibe er 16% dazupacken.
    Aber es klappt nicht wenn ich in einer Memberfunktion b=-a; schreibe gibt der mir für b nur das negative für a aus.



  • Du kannst Operatoren nur überladen, wenn daran mindestens ein eigener Datentyp (class, struct, union) beteiligt ist - der unäre operator-(float) hat bereits eine feste Bedeutung und kann nicht geändert werden.

    (btw, was du da hast, dürfte der binäre operator-(systeme,float) sein)


Anmelden zum Antworten