Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

C++ | Operator Overloading | Question 3

  • Difficulty Level : Basic
  • Last Updated : 28 Jun, 2021

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.

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.

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
Recommended Articles
Page :

Start Your Coding Journey Now!