Overload Unary Minus Operator in C++

This C++ program overloads the minus(-) operator. The program defines a class and instantiates it. The minus operator is defined inside the class. The value of two objects can be subtracted using this operator.

Here is the source code of the C++ program which overloads the minus(-) operator. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.

  1. /*
  2.  * C++ Program to overload minus (-) operator
  3.  */
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. class Integer {
  8.     private:
  9.         int value;
  10.     public:
  11.         Integer(int v) : value(v) { }
  12.         Integer operator-(Integer i) {
  13.             value = value - i.value;
  14.             return *this;
  15.         }
  16. 	int getValue() { 
  17.             return value;
  18.         }
  19. };
  20.  
  21. int main()
  22. {
  23.     Integer a(10), b(20);
  24.  
  25.     cout << "a = " << a.getValue() << "\n";
  26.     cout << "b = " << b.getValue() << "\n";
  27.     cout << "a - b = " << (a -b).getValue() << "\n";
  28. }

$ a.out
a = 10
b = 20
a - b = -10

Sanfoundry Global Education & Learning Series – 1000 C++ Programs.

advertisement
advertisement
If you wish to look at all C++ Programming examples, go to C++ Programs.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.