Unary Operator Overloading in C++
This C++ program demonstrates operator overloading using the class box, which has an integer data member x and two overloaded increment operators.
- The box class has a default constructor that initializes the data member x to 0, and a parameterized constructor that sets the data member x to the provided value.
- The box class overloads both the prefix ++ operator and the postfix ++ operator using two different member functions. The prefix ++ operator is overloaded using the member function operator++(), which increments the data member x by 1. The postfix ++ operator is overloaded using the member function operator++(int) , which also increments the data member x by 1 but returns the previous value of x.
- In the main() function, the program creates an object o of the box class using the default constructor and prints its value. Then, it uses the prefix ++ operator to increment the value of o and print the new value. Next, it uses the postfix ++ operator to increment the value of o and print the new value.
- When the program is executed, it prints the initial value of x, the value of x after the prefix ++ operator is applied, and the value of x after the postfix ++ operator is applied.
Source Code
/*
Unary Operator Overloading in C++
*/
#include<iostream>
using namespace std;
class box
{
private:
int x;
public:
box()
{
x=0;
}
box(int a)
{
x=a;
}
void print()
{
cout<<"X : "<<x<<endl;
}
void operator ++()
{
++x;
}
void operator ++(int)
{
x++;
}
};
int main()
{
box o;
o.print();
++o;
o.print();
o++;
o.print();
return 0;
}
Output
X : 0
X : 1
X : 2
To download raw file
Click Here