You are on page 1of 17

Unary Operators Overloading in C++

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 (!).
Binary Operators Overloading in C++
The binary operators take two arguments and following are the examples of Binary
operators. You use binary operators very frequently like addition (+) operator,
subtraction (-) operator and division (/) operator.
Following example explains how addition (+) operator can be overloaded. Similar way,
you can overload subtraction (-) and division (/) operators.
#include <iostream>
using namespace std;

class Box {
double length; // Length of a box
double breadth; // Breadth of a box
double height; // Height of a box

public:

double getVolume(void) {
return length * breadth * height;
}

void setLength( double len ) {


length = len;
}

void setBreadth( double bre ) {


breadth = bre;
}

void setHeight( double hei ) {


height = hei;
}

// Overload + operator to add two Box objects.


Box operator+(const Box& b) {
Box box;
box.length = this->length + b.length;
box.breadth = this->breadth + b.breadth;
box.height = this->height + b.height;
return box;
}
};

// Main function for the program


int main() {
Box Box1; // Declare Box1 of type Box
Box Box2; // Declare Box2 of type Box
Box Box3; // Declare Box3 of type Box
double volume = 0.0; // Store the volume of a box here

// box 1 specification
Box1.setLength(6.0);
Box1.setBreadth(7.0);
Box1.setHeight(5.0);

// box 2 specification
Box2.setLength(12.0);
Box2.setBreadth(13.0);
Box2.setHeight(10.0);

// volume of box 1
volume = Box1.getVolume();
cout << "Volume of Box1 : " << volume <<endl;

// volume of box 2
volume = Box2.getVolume();
cout << "Volume of Box2 : " << volume <<endl;

// Add two object as follows:


Box3 = Box1 + Box2;

// volume of box 3
volume = Box3.getVolume();
cout << "Volume of Box3 : " << volume <<endl;

return 0;
}

When the above code is compiled and executed, it produces the following result −
Volume of Box1 : 210
Volume of Box2 : 1560
Volume of Box3 : 5400

En
Engr. Muhammad Baqer (You)
Ab
ABU HURAIRA 
Af
AFAQ IQBAL 
Fa
FAHAD IQBAL 
Ka
KANZA SAJJAD 
Ma
MALYKA AWAIS 
Mu
MUHAMMAD AHSAN 
Mu
Muhammad Amjad 
Mu
Muhammad Umar 
Ne
NEASA ALI 
Ra
RAHEEL AMJAD 
So
SOFIA SOFIA 

En

Engr. Muhammad Baqer

11:48 AM

as salam o alikum
Ra

RAHEEL AMJAD(offline)

11:50 AM

Walikum Salam sir


Ma

MALYKA AWAIS(offline)

11:50 AM

Asalam o alaikm sir.


En

Engr. Muhammad Baqer

11:52 AM
wa alikum as salam
Ra

RAHEEL AMJAD(offline)

12:19 PM

Sir Mic Issue hai


Ra

RAHEEL AMJAD

12:22 PM

Yes Sir Awaz a rahi hai


Ma

MALYKA AWAIS(offline)

12:29 PM

Yes sir samj agai hai thank you


Ra

RAHEEL AMJAD

12:32 PM

Yes Sir Samjh a gi hai


Ra

RAHEEL AMJAD

12:32 PM

Kisi ko kuch pouchna ho toh Sir sy Discuss kr lain


Ra

RAHEEL AMJAD

12:33 PM

Sir Handsfree kharab hain toh is waja sy Mic ka issue hai aur without handsfree Noise boht ata hai
Ra

RAHEEL AMJAD

12:33 PM

Ok thank you sir

Ok sir
Af
AFAQ IQBAL

12:34 PM

sir assignement ky bary mai pochna hai apsy

final semester project???


Ra

RAHEEL AMJAD

12:42 PM

Sir chaly gye kaya?

Welcome to 4th semester theory lecture!

For help on using BigBlueButton see these (short) tutorial videos.

To join the audio bridge click the phone icon (top center). Please use a headset to avoid causing
background noise for others.

This session may be recorded.For help using BigBlueButton check out these (short) tutorial videos.

This BigBlueButton server is freely provided by Blindside Networks for testing purposes only.

Its use is allowed on an "AS IS" basis without warranty or condition of any nature. There is no
association nor recognized relationship with any third party web sites linked to this service. And
because this server can be used public and openly, your sessions and recordings can be accessible
for anyone, anytime. The recordings automatically delete after 7 days.

If you need help for setting up your own BigBlueButton server you can contact us, we will be more
than happy to help.

Iq

IQRA JABBAR

12:47 PM

yes sir
Ra

RAHEEL AMJAD

12:47 PM

yes sir a rahi hai


Ma

MALYKA AWAIS(offline)
12:47 PM

Yes sir
Ra

RAHEEL AMJAD

12:49 PM

yes sir
Mu

Muhammad Amjad

12:49 PM

yes sir
Ra

RAHEEL AMJAD

12:53 PM

yes sir
Ra

RAHEEL AMJAD

12:53 PM

samjh a gai hai


Mu

Muhammad Amjad

12:53 PM

yes sir
Ra

RAHEEL AMJAD

12:54 PM

yes sir
Ra

RAHEEL AMJAD

12:55 PM

yes sir
G sir
Ra

RAHEEL AMJAD

12:56 PM

Sb log bta dain agy Aik Extra Session lyna hai toh sb sir ko bta dain
M.

M. JUNAID AHMED(offline)

12:57 PM

Okay 🙂
Ra

RAHEEL AMJAD

12:59 PM

Sir Fahad Iqbal bhe present hai

En

Engr. Muhammad Baqer

11:48 AM

as salam o alikum
Ra

RAHEEL AMJAD(offline)

11:50 AM

Walikum Salam sir


Ma

MALYKA AWAIS(offline)

11:50 AM

Asalam o alaikm sir.


En

Engr. Muhammad Baqer

11:52 AM
wa alikum as salam
Ra

RAHEEL AMJAD(offline)

12:19 PM

Sir Mic Issue hai


Ra

RAHEEL AMJAD

12:22 PM

Yes Sir Awaz a rahi hai


Ma

MALYKA AWAIS(offline)

12:29 PM

Yes sir samj agai hai thank you


Ra

RAHEEL AMJAD

12:32 PM

Yes Sir Samjh a gi hai


Ra

RAHEEL AMJAD

12:32 PM

Kisi ko kuch pouchna ho toh Sir sy Discuss kr lain


Ra

RAHEEL AMJAD

12:33 PM

Sir Handsfree kharab hain toh is waja sy Mic ka issue hai aur without handsfree Noise boht ata hai
Ra

RAHEEL AMJAD

12:33 PM

Ok thank you sir

Ok sir
Af
AFAQ IQBAL

12:34 PM

sir assignement ky bary mai pochna hai apsy

final semester project???


Ra

RAHEEL AMJAD

12:42 PM

Sir chaly gye kaya?

Welcome to 4th semester theory lecture!

For help on using BigBlueButton see these (short) tutorial videos.

To join the audio bridge click the phone icon (top center). Please use a headset to avoid causing
background noise for others.

This session may be recorded.For help using BigBlueButton check out these (short) tutorial videos.

This BigBlueButton server is freely provided by Blindside Networks for testing purposes only.

Its use is allowed on an "AS IS" basis without warranty or condition of any nature. There is no
association nor recognized relationship with any third party web sites linked to this service. And
because this server can be used public and openly, your sessions and recordings can be accessible
for anyone, anytime. The recordings automatically delete after 7 days.

If you need help for setting up your own BigBlueButton server you can contact us, we will be more
than happy to help.

Iq

IQRA JABBAR(offline)

12:47 PM

yes sir
Ra

RAHEEL AMJAD

12:47 PM

yes sir a rahi hai


Ma

MALYKA AWAIS(offline)
12:47 PM

Yes sir
Ra

RAHEEL AMJAD

12:49 PM

yes sir
Mu

Muhammad Amjad

12:49 PM

yes sir
Ra

RAHEEL AMJAD

12:53 PM

yes sir
Ra

RAHEEL AMJAD

12:53 PM

samjh a gai hai


Mu

Muhammad Amjad

12:53 PM

yes sir
Ra

RAHEEL AMJAD

12:54 PM

yes sir
Ra

RAHEEL AMJAD

12:55 PM

yes sir
G sir
Ra

RAHEEL AMJAD

12:56 PM

Sb log bta dain agy Aik Extra Session lyna hai toh sb sir ko bta dain
M.

M. JUNAID AHMED(offline)

12:57 PM

Okay 🙂
Ra

RAHEEL AMJAD

12:59 PM

Sir Fahad Iqbal bhe present hai


Ra

RAHEEL AMJAD

1:00 PM

yes sir
Mu

MUHAMMAD AHSAN

1:00 PM

Yes Sir,
Ra

RAHEEL AMJAD

1:01 PM

Sir Fahad Iqbal aur Huraira


Ra

RAHEEL AMJAD

1:01 PM

sir assignement ky bary mai poch rahy hain students


Ra

RAHEEL AMJAD
1:02 PM

Sir Aj LMS pr aik Assignment Upload howi hai us ky bary main


Ra

RAHEEL AMJAD

1:03 PM

Ok Sir,
Ma

MALYKA AWAIS

1:03 PM

Okay sir.
Ne

NEASA ALI

1:03 PM

ok sir
Ra

RAHEEL AMJAD

1:04 PM

Sir Assignment Group Wise Bnani hai ya Har Banda Apni bnaya ga?
Ra

RAHEEL AMJAD

1:04 PM

Ok SIr
Ra

RAHEEL AMJAD

1:04 PM

Ok Sir
Mu

MUHAMMAD AHSAN

1:05 PM

Sir g Menu same ho ga sab ka


Mu
MUHAMMAD AHSAN

1:05 PM

okay sir
Ra

RAHEEL AMJAD

1:06 PM

Ok sir,

Yes Sir

G Sir Bilkul
Ra

RAHEEL AMJAD

1:07 PM

Sir Assignment C++ Main bnani hai ya C#


Ra

RAHEEL AMJAD

1:07 PM

Theak sir
Ra

RAHEEL AMJAD

1:07 PM

C++ main bna lain gy sir


Fa

FAHAD IQBAL(offline)

1:07 PM

Ok sir
Ra

RAHEEL AMJAD

1:08 PM

g sir bilkul
Ra
RAHEEL AMJAD

1:10 PM

Bilkul sir

no no sir
Ra

RAHEEL AMJAD

1:10 PM

yes sir

Allah Hafiz sir


En

Engr. Muhammad Baqer

1:10 PM

Allah
Ma

MALYKA AWAIS

1:10 PM

Allah Hafiz sir


Mu

MUHAMMAD AHSAN

1:10 PM

Allah Hafiz
En

Engr. Muhammad Baqer

1:10 PM

Allah Hafiz
Ne

NEASA ALI

1:10 PM

Allah Hafiz sir


Fa
FAHAD IQBAL(offline)

1:10 PM

Allah Hafiz
Mu

Muhammad Amjad

1:10 PM

Allah hafiz sir


Ra

RAHEEL AMJAD

1:11 PM

pta nahi sir


Mu

MUHAMMAD AHSAN

1:11 PM

G Sir Issue aa raha hy


Ra

RAHEEL AMJAD

1:11 PM

Sir Ahsan ka issue hai Mic ka us ny starting main bta dia tha
So

SOFIA SOFIA

1:11 PM

Allah hafiz sir.

You might also like