

- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Overloading unary 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 sometime they can be used as postfix as well like obj++ or obj--.
Following example explain how bang(!) operator can be overloaded for prefix usage −
Example
#include <iostream> using namespace std; class Distance { private: int feet; // 0 to infinite int inches; // 0 to 12 public: // Constructor Distance(int f, int i) { feet = f; inches = i; } // method to display distance void display() { cout << "F: " << feet << " I:" << inches <<endl; } // overloaded bang(!) operator Distance operator!() { feet = -feet; inches = -inches; return Distance(feet, inches); } }; int main() { Distance D1(3, 4), D2(-1, 10); !D1; D1.display(); // display D1 !D2; // apply negation D2.display(); // display D2 return 0; }
Output
This will give the output −
F: -3 I:-4 F: 1 I:-10
- Related Questions & Answers
- What is overloading a unary operator in C++?
- Overloading unary operators + in C++
- Unary operator in C++
- Java Unary Operator Examples
- Overload unary minus operator in C++?
- What is Unary Negation Operator (-) in JavaScript?
- Rules for operator overloading in C++
- Overloading array index operator [] in C++
- How to implement operator overloading in C#?
- How to use Operator Overloading in C#?
- Increment ++ and Decrement -- Operator Overloading in C++
- How will you explain Python Operator Overloading?
- Why is operator overloading not supported by java?
- C++ Program to Subtract Complex Number using Operator Overloading
- Operator overloading in C++ to print contents of vector, map, pair ..
Advertisements