Example:3
Overloading unary operator (-)
// to overload - operator #include<iostream> #include<conio.h> using namespace std; class sample { private: int a; public: sample();//default constructor sample(int n);//para cons 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;//a=a*-1; } int main() { sample s1,s2; s1.get();s2.get(); s1.disp();s2.disp(); -s1; //s1.operator-(); -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= -10
a= -20
Example:4
Overloading increment operator (++) (Postfix form)
// to overload ++ operator (as postfix) //post increment #include<iostream> #include<conio.h> using namespace std; class sample { int a; public: sample();//defa sample(int n); //para void get(); void disp(); void operator++(int); }; 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++(int) { a=a+1; } int main() { sample s1,s2; s1.get();s2.get(); s1.disp();s2.disp(); s1++;//s1.operator++(); s1++; s2++; s1.disp();s2.disp(); getch(); return(0); }
Enter the value of a 10
Enter the value of a 20
a= 10
a= 20
a= 12
a= 21