Overloading Unary operator
(++,–, -)
Example:1
Overloading increment operator (++)
// to overload ++ operator
#include<iostream>
#include<conio.h>
using namespace std;
class sample
{
private:
int a;
public:
sample();//defa
sample(int n); //para
void get();
void disp();
void operator++();
};
sample::sample()
{
a=0;
}
sample::sample(int n)
{
a=n;
}
void sample::get()
{
cout<<"Enter the value of a ";
cin>>a;
}
void sample::disp()
{
cout<<"a= "<<a<<endl;
}
void sample::operator++()
{
a=a+1;//a++;//++a;//a+=1;
}
int main()
{
sample s1,s2;
s1.get();
s2.get(); //s1=10 s2=20
s1.disp();
s2.disp();
++s1; //s1.operator++();
++s1;
++s2;
s1.disp();s2.disp();
getch();
return(0);
}
Output:
Enter the value of a 10
Enter the value of a 20
a= 10
a= 20
a= 12
a= 21
Example:2
Overloading decrement operator (–)
// to overload -- operator
#include<iostream>
#include<conio.h>
using namespace std;
class sample
{
private:
int a;
public:
sample();
sample(int n);
void get();
void disp();
void operator--();
};
sample::sample()
{
a=0;
}
sample::sample(int n)
{
a=n;
}
void sample::get()
{
cout<<"Enter the value of a ";
cin>>a;
}
void sample::disp()
{
cout<<"a= "<<a<<endl;
}
void sample::operator--()
{
a=a-1;
}
int main()
{
sample s1,s2;
s1.get();s2.get();
s1.disp();s2.disp();
--s1; //s1.operator--();
--s1;
--s1;
--s2;
s1.disp(); s2.disp();
getch();
return(0);
}
Output:
Enter the value of a 10
Enter the value of a 20
a= 10
a= 20
a= 7
a= 19




