Home » C++ programming language

Operator overloading and its rules in C++

Learn: What is Operator Overloading in C++? What are the rules for operator overloading?

Operator overloading is an important part of object oriented programming languages. Operator overloading is a type of static or compile time polymorphism.

By using the concept of operator overloading, we can assign extra task to an existing operator.

For example, we can assign more than one task to + operator:

  1. + operator is used to add two number.
  2. + operator is also used to concatenate two string.

The basic purpose of operator overloading is used to provide facility to the programmer, to write expressions in the most natural form.

There are following rules of operator overloading given below:

  1. The first and basic rule of operator overloading is: we can overload unary operator as only unary operator, it cannot be overload as binary operator and vice versa.
  2. We cannot overload those operators that are not a part of C++ language like ‘$’.
  3. We can perform operator overloading in only user defined classes. We cannot change the operators existing functionality.
  4. Using operator overloading we cannot change the presidency and associatively of operators.
  5. There are some operators cannot be overloaded that are given below:
    • :: Scope resolution operator.
    • . Class membership operator.
    • ?: ternary or conditional operator.
    • .* pointer to member operator.
    • ->* pointer to member operator.

Operator overloading can be done in two ways:

  1. Operator overloading of member functions
  2. Operator overloading of non-member or free functions





Was this page helpful? YES NO

Are you a blogger? Join our Blogging forum.



Comments and Discussions


We are using Google to publish ads on our website; Google has its own privacy policies. They may save log, cookies on your system. Google may also collect information of your system like IP address, region, city, country. For more details please go through the Google’s privacy policy.