Skip to main content

Operator overloading in c++.

Hello friends, in this post today, we learn about what is operator overloading in c++. so lets start...

Operator overloading in c++, operator overloading
Operator overloading 



Operator overloading:-

Operator overloading is compile time polymorphism.

Operator overloading refers to overloading of one operator for many different purpose.

It is one of the powerful and fascinating features of the C++ which give additional meaning to built-in standard operators like +, -, *, /, >, <, < =, > = etc.

 For example, the binary + can be used to add two integer numbers, two float numbers, two structures variables, two union variables or two class objects.

• The operator overloading provides mechanism to perform operations on user defined data type.

• When an operator is overloaded with multiple jobs, it is known as operator overloading.

• We can give special meaning to any operators in which program it is implemented.


Rules for operator overloading:-

1. Only existing operator can be overloaded.

2. Any overloaded operator function must have at least one operand which is user defined type. All of the operands cannot be of basic types. If this is the case than function must be friend function of some class.

3. We cannot change the basic meaning and syntax of an operator.

4. We cannot use friend function to overload certain operators. However member function can be used to overload them.

5. Unary operators, overloaded by means of a member function, take no explicit argument s and return no explicit value, but, those overloaded by means of a friend function, take one reference argument.

6. Binary operators overloaded through a member function take one explicit argument and those which are overloaded through a friend function take two explicit arguments.

7. When using binary operators overloaded through a member function, the left hand operand must be an object of the relevant class.

8. We cannot overload following operators.

Operators Name

Dot(.) and Pointer to member operator(.* )

:: Scope Resolution Operator

sizeof() The Size of Operator

?: Conditional Operator


Syntax:-

return_type operator operator (arguments)
{
  Statements; 
  Statements; 
Statements;
}


Example for Unary Operator Overloading

#include <iostream> 
using namespace std

class complex
{
   private:
   float realimag

   public:
   complex(float afloat b) // constructor
   {
      reala;
      imag =b;
   }

   void display()
   {
     cout<<"Addition of complex number:"<<real<<"+"<<imag<<"i"<<endl
   }

void operator +(complex c) //Binary Member function
{
real=real+c.real;
  imag=imag+c.imag;
}
};

int main()
{
 complex x(5,4); 
 complex y(3,6);
 x + y; // Call Binary Member Function 
 x.display();
 return 0;
}

Output:

Addition of complex number:8+10i



I hope that whatever information I have given in this post today, you have liked it and you have understood it.so keep learning and wait for the next post that will help you to increase your knowledge with something new information .


Thank you so much for reading. And take care about yourself and your family.



Comments

Popular posts from this blog

Constructor in c++

Hello friends, in this post today, we learn about  what is constructor in c++ and types of constructor . so lets start... Constructor in c++ Constructor:-   A constructor is a “special” member function which initializes the objects of class.  Constructor is used to solve problem of initialization. Properties of constructor:- Constructors are used to construct the object of the class. Constructor name must be same as class name. Constructor is invoked automatically when objects of the class are created. The constructors are always declared in the public section. If declared in the private section then objects are can only be created inside the member functions but serve no purpose. It must be an instance member function , that is, it can never be static. Constructors  do not have any return type not even void so they cannot return any value. Constructor can also be overloaded. Constructors cannot be inherited, but they can be called from the constructors of...

Function with Default arguments in c++

Hello friends, i n this post today, we learn about   Function with Default arguments in c++ .  so lets start... Function with default arguments  Function with default arguments:- In C ++ it is possible for a function not to specify all its arguments. Some of the arguments  may be specified their default values at the time of declaring the function.   Default values are specified when the function is declared. We must add default arguments from right to left. We cannot provide a default value to a particular argument in the middle of an argument list. Default arguments are useful in situations where some arguments always have the same value. For Example, passing marks. In a function with default argument, if one argument is default, all successive arguments  must be default. We cannot provide default values in the middle of the arguments or towards  l eft side. We provide few examples: 1. void fun(int x, int y = 20, int z=35); (valid) 2. void fun(int x,...

function overriding in c++

Hello friends, i n this post today, we learn about w hat is function overriding  in c++ .  so lets start... Function overriding in c++ Function overriding:- In function overriding we write the same function which is defined in base class, we write the same function in derived class with same parameter is known as function overriding.  If base class and derived class have member functions with same name and arguments.  If you create an object of derived class and write code to access that member function then, the member function in derived class is only invokes. Means the member function of derived class overrides the member function of base class. This is called function overriding or method overriding in C++. Example: //Function overriding #include <iostream>   using   namespace   std ; class   A {    public:    void   display ()   {     cout << "This is parent ...