Open In App
Related Articles

C++ | Operator Overloading | Question 3

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
Which of the following operators are overloaded by default by the compiler in every user defined classes even if user has not written?
1) Comparison Operator ( == )
2) Assignment Operator ( = ) 
(A) Both 1 and 2 (B) Only 1 (C) Only 2 (D) None of the two

Answer: (C)

Explanation: Assign operator is by default available in all user defined classes even if user has not implemented. The default assignement does shallow copy. But comparison operator “==” is not overloaded.
#include<iostream>
using namespace std;

class Complex {
private:
    int real, imag;
public:
    Complex(int r = 0, int i =0)  {real = r;   imag = i;}
};

int main()
{
    Complex c1(10, 5), c2(2, 4);

    // For example, below code works fine
    c1 = c2;

    // But this code throws compiler error
    if (c1 == c2)
       cout << "Same";

    return 0;
}


Quiz of this Question

Last Updated : 28 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads