c++ overloading += operator -


i have class:

class myclass{      double a;     double b;     double c;     double d;      public:      myclass(double _a, double _b, double _c, double _d){         = _a;         b = _b;         c = _c;         d = _d;     }     myclass operator+=(const myclass & rhs){     += rhs.a;     b += rhs.b;     c += rhs.c;     d += rhs.d;     return this;     }      myclass operator+(myclass & rhs){       myclass newone(a+rhs.a,b+rhs.b,c+rhs.c,d+rhs.d);     return newone; } } 

and use this:

myclass my1(1., 2., 3., 4.); myclass my2(2., 3., 4., 5.); myclass my3(2., 4., 6., 8.); my2 += my3; my1 += my2; 

and 1 working, when use this

my1 += my2 += my3; 

i diffrent answer. , how can make count expression in brackets first? example :

(my1 + my2) + my3 == my1 + (my2 + my3) 

it not clear result expecting in statement

my1 += my2 += my3; 

the statement equivalent to

my1 += ( my2 += my3 ); 

according c++ standard (5.17 assignment , compound assignment operators)

1 assignment operator (=) , compound assignment operators all group right-to-left.

the valid operator definition like

myclass & operator +=( const myclass & rhs ) {     += rhs.a;     b += rhs.b;     c += rhs.c;     d += rhs.d;      return *this; } 

take account there several typos in code. example in operator instead of have return *this or class definition shall ended semicolon after closing brace.

as expression

(my1 + my2) + my3 == my1 + (my2 + my3) 

then entirely unclear trying achieve. there no defined comparison operator class.


Comments

Popular posts from this blog

c++ - QTextObjectInterface with Qml TextEdit (QQuickTextEdit) -

javascript - angular ng-required radio button not toggling required off in firefox 33, OK in chrome -

xcode - Swift Playground - Files are not readable -