0% found this document useful (0 votes)
27 views

Unary

unary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Unary

unary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

UNARY OPERATORS OVERLOADING IN C++

http://www.tutorialspoint.com/cplusplus/unary_operators_overloading.htm Copyright © tutorialspoint.com

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 minus − operator can be overloaded for prefix as well as postfix
usage.

#include <iostream>
using namespace std;

class Distance
{
private:
int feet; // 0 to infinite
int inches; // 0 to 12
public:
// required constructors
Distance(){
feet = 0;
inches = 0;
}
Distance(int f, int i){
feet = f;
inches = i;
}
// method to display distance
void displayDistance()
{
cout << "F: " << feet << " I:" << inches <<endl;
}
// overloaded minus (-) operator
Distance operator- ()
{
feet = -feet;
inches = -inches;
return Distance(feet, inches);
}
};
int main()
{
Distance D1(11, 10), D2(-5, 11);

-D1; // apply negation


D1.displayDistance(); // display D1

-D2; // apply negation


D2.displayDistance(); // display D2

return 0;
}

When the above code is compiled and executed, it produces the following result:
F: -11 I:-10
F: 5 I:-11

Hope above example makes your concept clear and you can apply similar concept to overload
Logical Not Operators !.
Loading [MathJax]/jax/output/HTML-CSS/jax.js

You might also like