Operator Overloading in C++
Operator overloading in C++ allows you to define how operators behave when used with objects of user-defined classes. You can customize the behavior of operators, such as +, -, *, /, ==, and many others, to work with your own classes, making your code more intuitive and expressive. Here's an overview of operator overloading in C++:
Basic Syntax for Operator Overloading:To overload an operator, you define a special member function within your class, known as an operator function. The operator function is named after the operator you want to overload, and it takes one or more parameters. depending on the operator.
The general syntax for overloading an operator is:
return_type operator op(parameters) { // Operator implementation }
Here, op is the operator you want to overload (e.g., +, ==, *, etc.), and parameters are the parameters that the operator function takes.
Examples:
#include<iostream.h>
#include<conio.h>
class Sample
{
int a,b;
public:
Sample()
{
a=4;
b=5;
}
void operator -()
{
a=-a;
b=-b;
}
void display()
{
cout<<"The value of a\n"<<a<<endl;
cout<<"The value of b\n"<<b<<endl;
}
};
void main()
{
Sample s;
clrscr();
cout<<"Before overloading\n";
s.display();
-s;
cout<<"After overloading\n";
s.display();
getch();
}