C++ | Operator Overloading | Question 5

How does C++ compiler differs between overloaded postfix and prefix operators?
(A) C++ doesn’t allow both operators to be overlaoded in a class
(B) A postfix ++ has a dummy parameter
(C) A prefix ++ has a dummy parameter
(D) By making prefix ++ as a global function and postfix as a member function.

Answer: (B)

Explanation: See the following example:

class Complex
    int real;
    int imag;
    Complex(int r, int i)  {  real = r;   imag = i; }
    Complex operator ++(int);
    Complex & operator ++();

Complex &Complex::operator ++()
    real++; imag++;
    return *this;

Complex Complex::operator ++(int i)
    Complex c1(real, imag);
    real++; imag++;
    return c1;

int main()
    Complex c1(10, 15);
    return 0;

Quiz of this Question

Recommended Posts:

4 Average Difficulty : 4/5.0
Based on 1 vote(s)