Overloading postfix and prefix ++

Overloading postfix and prefix ++

For primitive types the C++ language distinguishes between ++x; and x++; as well as between –x; and x–;For objects requiring a distinction between prefix and postfix overloaded operators, the following rule is used:

 	class Date {		//...		public:		Date& operator++(); //prefix		Date& operator--(); //prefix		Date& operator++(int unused); //postfix		Date& operator--(int unused); //postfix	};

Postfix operators are declared with a dummy int argument (which is ignored) in order to distinguish them from the prefix operators, which take no arguments:

 	void f() 	{	Date d, d1;	d1 = ++d;//prefix: first increment d and then assign to d1	d1 = d++; //postfix; first assign, increment d afterwards 	}


Share the Post: