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