Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

C++ | Operator Overloading | Question 3

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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

My Personal Notes arrow_drop_up
Last Updated : 28 Jun, 2021
Like Article
Save Article
Similar Reads