Consistent operator overloading

Consistent operator overloading

Whenever you overload operators such as + or -, it is useful to support the corresponding += and -= as well. As opposed to a common belief, the compiler will not do that for you automatically:

 class Date {//...Date stuff	public:		Date& operator + (const Date& d);  //note: operator += not defined	};Date d1, d2;d1 = d1 + d2; //fine; uses overloaded + and default assignment operatord1 += d2; //compile time error: 'no user defined operator += for class Date'


Share the Post: