[go: up one dir, main page]

0% found this document useful (0 votes)
23 views4 pages

Unary Operator Overloading

The document provides a C++ program demonstrating the overloading of unary operators, specifically increment (++) and decrement (--). It includes examples of how to implement these operators in a user-defined class, along with a demonstration of overloading the unary minus (-) operator. The document also contains sample code and expected output for each example.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views4 pages

Unary Operator Overloading

The document provides a C++ program demonstrating the overloading of unary operators, specifically increment (++) and decrement (--). It includes examples of how to implement these operators in a user-defined class, along with a demonstration of overloading the unary minus (-) operator. The document also contains sample code and expected output for each example.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Q.

Write a C++ program to overload unary operators that is


increment and decrement.

Answer: Unary Operators work on the operations carried out on just one
operand. A single operand/variable is used with the unary operator to
determine the new value of that variable. Unary operators are used with the
operand in either the prefix or postfix position.

These are some examples of, unary operators:

1. Increment operator (++),


2. Decrement operator (--),
3. Unary minus operator (-),
4. Logical not operator (!),
5. Address of (&), etc.

Operator overloading is a type of polymorphism in which an operator is


overloaded to give user defined meaning to it. It is used to perform operation
on user-defined data type.

Following program is overloading unary operators: increment (++) and


decrement (--).

#include<iostream>
using namespace std;

class IncreDecre
{
int a, b;
public:
void accept()
{
cout<<"\n Enter Two Numbers : \n";
cout<<" ";
cin>>a;
cout<<" ";
cin>>b;
}
void operator--() //Overload Unary Decrement
{
a--;
b--;
}
void operator++() //Overload Unary Increment
{
a++;
b++;
}
void display()
{
cout<<"\n A : "<<a;
cout<<"\n B : "<<b;
}
};
int main()
{
IncreDecre id;
id.accept();
--id;
cout<<"\n After Decrementing : ";
id.display();
++id;
++id;
cout<<"\n\n After Incrementing : ";
id.display();
return 0;
}

Output:

Following example explain how minus (-) operator can be overloaded for
prefix as well as postfix usage.
Live Demo
#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

// program to overload the unary operator ++.

1. #include <iostream>
2. using namespace std;
3. class Test
4. {
5. private:
6. int num;
7. public:
8. Test(): num(8){}
9. void operator ++() {
10. num = num+2;
11. }
12. void Print() {
13. cout<<"The Count is: "<<num;
14. }
15. };
16. int main()
17. {
18. Test tt;
19. ++tt; // calling of a function "void operator ++()"
20. tt.Print();
21. return 0;
22. }

Output:

The Count is: 10

You might also like