
- C++ Basics
- C++ Home
- C++ Overview
- C++ Environment Setup
- C++ Basic Syntax
- C++ Comments
- C++ Data Types
- C++ Variable Types
- C++ Variable Scope
- C++ Constants/Literals
- C++ Modifier Types
- C++ Storage Classes
- C++ Operators
- C++ Loop Types
- C++ Decision Making
- C++ Functions
- C++ Numbers
- C++ Arrays
- C++ Strings
- C++ Pointers
- C++ References
- C++ Date & Time
- C++ Basic Input/Output
- C++ Data Structures
- C++ Object Oriented
- C++ Classes & Objects
- C++ Inheritance
- C++ Overloading
- C++ Polymorphism
- C++ Abstraction
- C++ Encapsulation
- C++ Interfaces
Overload unary minus operator in C++?
The operator keyword declares a function specifying what operator-symbol means when applied to instances of a class. This gives the operator more than one meaning, or "overloads" it. The compiler distinguishes between the different meanings of an operator by examining the types of its operands.
The unary operators operate on a single operand and following are the examples of Unary operators −
- The increment (++) and decrement (--) operators.
- The unary minus (-) operator.
- The logical not (!) operator.
The unary operators operate on the object for which they were called and normally, this operator appears on the left side of the object, as in !obj, -obj, and ++obj but sometimes they can be used as postfix as well like obj++ or obj--.
Following example explain how minus(-) operator can be overloaded for prefix usage −
Example
#include <iostream> using namespace std; class Distance { private: int feet; int inches; public: // Constructor Distance(int f, int i) { feet = f; inches = i; } // method to display distance void display() { cout << "F: " << feet << " I:" << inches <<endl; } // overloaded minus(-) operator Distance operator-() { feet = -feet; inches = -inches; return Distance(feet, inches); } }; int main() { Distance D1(3, 4), D2(-1, 10); !D1; D1.display(); !D2; D2.display(); return 0; }
Output
This will give the output −
F: -3 I:-4 F: 1 I:-10
- Related Articles
- Unary operator in C++
- Overloading unary operator in C++?
- Java Unary Operator Examples
- What is Unary Negation Operator (-) in JavaScript?
- What is Unary Plus Operator in JavaScript?
- How to overload python ternary operator?
- C++ program to overload extraction operator
- What is overloading a unary operator in C++?
- How do I overload the [] operator in C#?
- How to solve “Unary operator expected” errors?
- C++ program to overload addition operator to add two matrices
- C++ program to overload addition operator to add two complex numbers
- Unary operators in C++
- Overloading unary operators + in C++
- Unary operators in C/C++

Advertisements