SlideShare a Scribd company logo
UNIT -4
Operator Overloading
BCA-2nd Sem
Introduction of Operator
Overloading
 Operator overloading is an important concept in C++.
 It is a type of polymorphism in which an operator is
overloaded to give user defined meaning to it.
 Overloaded operator is used to perform operation on
user-defined data type.
 For example '+' operator can be overloaded to
perform addition on various data types, like for
Integer, String(concatenation) etc.
Operator Overloading
Operator Overloading
 Almost any operator can be overloaded in C++.
 However there are few operator which can not be
overloaded. Operator that are not overloaded are
follows.
1.scope operator - ::
2.sizeof
3.member selector - .
4.member pointer selector - *
5.ternary operator - ?:
Operator Overloading Syntax
Implementing Operator Overloading
 Operator overloading can be done by implementing a
function which can be :
1.Member Function
2.Non-Member Function
3.Friend Function
Implementing Operator Overloading
 Operator overloading function can be a member
function if the Left operand is an Object of that class,
 but if the Left operand is different, then Operator
overloading function must be a non-member function.
Restrictions on Operator
Overloading
 Precedence and Associativity of an operator cannot be
changed.
 Arity (numbers of Operands) cannot be changed.
Unary operator remains unary, binary remains binary
etc.
 No new operators can be created, only existing
operators can be overloaded.
 Cannot redefine the meaning of a procedure. You
cannot change how integers are added.
Overloading Unary Operator using
member Functions
There are two types of operator overloading:
 Unary operator overloading
 Binary operator overloading
Overloading Unary Operator using
member Functions
#include<iostream>
using namespace std; {
private:
int count ;
public: Inc() {
count = 0 ;}
Inc(int C) {
count = C ; }
Inc operator ++ () {
Inc(++count); }
Overloading Unary Operator using
member Functions
Inc operator -- (){
return Inc(--count);}
void display(void){
cout << count << endl}};
void main(void) {
Inc a, b(4), c, d, e(1), f(4);
cout << "Before using the operator ++()n";
cout << "a = ";
Overloading Unary Operator using
member Functions
a.display();
cout << "b = ";
b.display();
++a;
b++;
cout << "After using the operator ++()n";
cout << "a = ";
a.display();
cout << "b = ";
b.display();c = ++a; d = b++;
Overloading Unary Operator using
member Functions
cout << "Result prefix (on a) and postfix (on b)n";
cout << "c = ";
c.display();
cout << "d = ";
d.display();
cout << "Before using the operator --()n";
cout << "e = ";
e.display();
cout << "f = ";
f.display();
Overloading Unary Operator using
friend Functions
 When you overload a unary operator using a friend
function you would have to pass one argument to the
friend function.
 Beware: When you use friend functions, they will not
have the ‘this’ pointer.
 If you attempt to modify some value of an object
passed as argument, then the friend function actually
only operates on a copy (it does not act on the original
object).
 This is because it is passed by value (and not as
reference).
Overloading Unary Operator using
friend Functions
 Thus you would actually have to work on a copy of
the object, and then return a newly initialized object
having the modified values (we did the same process
in using friend function for binary operator
overloading).
 To work directly on the original object, you can make
use of reference parameters in the operator
overloaded friend function.
Overloading Unary Operator using
friend Functions
#include<iostream.h>
#include<conio.h>
class point
{
private:
int x,y;
public:
point(int i,int j)
{
Overloading Unary Operator using
friend Functions
x=i;
y=j;
}
void show()
{
cout<<"point="<<"("<<x<<","<<y<<")"<<endl;
}
Overloading Unary Operator using
friend Functions
friend void operator++(point &p1);
};
void operator++(point &p1)
{
p1.x++;
p1.y++;
}
Overloading Unary Operator using
friend Functions
void main()
{
clrscr();
point p1(2,2);
p1.show();
cout<<"after increment"<<endl;
++p1;
p1.show();
getch();}
Overloading Binary Operator using
member Functions
#include<iostream.h>
include<conio.h>
#include<stdlib.h>
class stud{
int rno;
char *name;
int marks;
public:
Overloading Binary Operator using
member Functions
friend istream &operator>>(istream &,stud &);
friend void operator<<(ostream &,stud &);
};
Overloading Binary Operator using
member Functions
istream &operator>>(istream &tin,stud &s)
{
cout<<"n Enter the no";
tin>>s.rno;
#cout<<"n Enter the name";
tin>>s.name;
Overloading Binary Operator using
member Functions
cout<<"n Enter Marks";
tin>>s.marks;
return tin;
}
void operator<<(ostream &tout,stud &s)
{
Overloading Binary Operator using
member Functions
tout<<”n”<<s.rno;
tout<<”n”<<s.name;
tout<<”n”<<s.marks;
}
void main()
{
clrscr();
cout<<"ttBinaryOperator Overloading
Using FriendFunction";
Overloading Binary Operator using
member Functions
stud s;
for(int i=0;i<3;i++)
{
cin>>s;
}
for( i=0;i<3;i++)
{
cout<<s;
}getch();
Overloading Binary Operator using
friend Functions
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
class stud
{
int rno;
char *name;
int marks;
public:
friend istream
&operator>>(istream
&,stud &);
friend void
operator<<(ostream
&,stud &);
};
Overloading Binary Operator using
friend Functions
istream&operator>>(istream &tin,stud &s){
cout<<"n Enter the no";
tin>>s.rno;
cout<<"n Enter the name";
tin>>s.name;
cout<<"n Enter Marks";
tin>>s.marks;
return tin;
Overloading Binary Operator using
friend Functions
}void operator<<(ostream &tout,stud &s)
{tout<<”n”<<s.rno;
cout<<"n Enter Marks";
tin>>s.marks;
return tin;}
void operator<<(ostream &tout,stud &s)
{tout<<”n”<<s.rno;
Rules for Operator Overloading.
1) Only built-in operators can be overloaded. New
operators can not be created.
2) Arity of the operators cannot be changed.
3) Precedence and associativity of the operators
cannot be changed.
Rules for Operator Overloading.
4) Overloaded operators cannot have default
arguments except the function call operator () which
can have default arguments.
5) Operators cannot be overloaded for built in types
only. At least one operand must be used defined type.
Rules for Operator Overloading
6) Assignment (=), subscript ([]), function call (“()”),
and member selection (->) operators must be defined
as member functions.
7) Except the operators specified in point 6, all other
operators can be either member functions or a non
member functions.
8 ) Some operators like (assignment)=, (address)&
and comma (,) are by default overloaded.
REFRENCES
• Learn Programming in C++ By Anshuman
Sharma, Anurag Gupta, Dr.Hardeep Singh,
Vikram Sharma

More Related Content

What's hot

Manipulators in c++
Manipulators in c++Manipulators in c++
Manipulators in c++
Ashok Raj
 
Tokens expressionsin C++
Tokens expressionsin C++Tokens expressionsin C++
Tokens expressionsin C++
HalaiHansaika
 
Operator overloading
Operator overloadingOperator overloading
Operator overloadingabhay singh
 
Inline function
Inline functionInline function
Inline functionTech_MX
 
OPERATOR OVERLOADING IN C++
OPERATOR OVERLOADING IN C++OPERATOR OVERLOADING IN C++
OPERATOR OVERLOADING IN C++
Aabha Tiwari
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
Dr Sukhpal Singh Gill
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
tanmaymodi4
 
Function overloading and overriding
Function overloading and overridingFunction overloading and overriding
Function overloading and overriding
Rajab Ali
 
Classes and objects1
Classes and objects1Classes and objects1
Classes and objects1
Vineeta Garg
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
Nilesh Dalvi
 
Functions in c++
Functions in c++Functions in c++
Functions in c++
Maaz Hasan
 
Inline functions
Inline functionsInline functions
Inline functions
DhwaniHingorani
 
07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
Haresh Jaiswal
 
Operator Overloading & Type Conversions
Operator Overloading & Type ConversionsOperator Overloading & Type Conversions
Operator Overloading & Type Conversions
Rokonuzzaman Rony
 
Call by value
Call by valueCall by value
Call by valueDharani G
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
Ramish Suleman
 
FUNCTIONS IN C PROGRAMMING.pdf
FUNCTIONS IN C PROGRAMMING.pdfFUNCTIONS IN C PROGRAMMING.pdf
FUNCTIONS IN C PROGRAMMING.pdf
RITHIKA R S
 
Data Type Conversion in C++
Data Type Conversion in C++Data Type Conversion in C++
Data Type Conversion in C++Danial Mirza
 
Pointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cppPointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cpp
rajshreemuthiah
 
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
Ritika Sharma
 

What's hot (20)

Manipulators in c++
Manipulators in c++Manipulators in c++
Manipulators in c++
 
Tokens expressionsin C++
Tokens expressionsin C++Tokens expressionsin C++
Tokens expressionsin C++
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Inline function
Inline functionInline function
Inline function
 
OPERATOR OVERLOADING IN C++
OPERATOR OVERLOADING IN C++OPERATOR OVERLOADING IN C++
OPERATOR OVERLOADING IN C++
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
 
Function overloading and overriding
Function overloading and overridingFunction overloading and overriding
Function overloading and overriding
 
Classes and objects1
Classes and objects1Classes and objects1
Classes and objects1
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
 
Functions in c++
Functions in c++Functions in c++
Functions in c++
 
Inline functions
Inline functionsInline functions
Inline functions
 
07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
 
Operator Overloading & Type Conversions
Operator Overloading & Type ConversionsOperator Overloading & Type Conversions
Operator Overloading & Type Conversions
 
Call by value
Call by valueCall by value
Call by value
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
FUNCTIONS IN C PROGRAMMING.pdf
FUNCTIONS IN C PROGRAMMING.pdfFUNCTIONS IN C PROGRAMMING.pdf
FUNCTIONS IN C PROGRAMMING.pdf
 
Data Type Conversion in C++
Data Type Conversion in C++Data Type Conversion in C++
Data Type Conversion in C++
 
Pointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cppPointers,virtual functions and polymorphism cpp
Pointers,virtual functions and polymorphism cpp
 
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
 

Viewers also liked

Lec 26.27-operator overloading
Lec 26.27-operator overloadingLec 26.27-operator overloading
Lec 26.27-operator overloadingPrincess Sam
 
operator overloading in c++
operator overloading in c++operator overloading in c++
operator overloading in c++
harman kaur
 
Presentation on overloading
Presentation on overloading Presentation on overloading
Presentation on overloading Charndeep Sekhon
 
Operator overloading in C++
Operator overloading in C++Operator overloading in C++
Operator overloading in C++
Ilio Catallo
 
Operator overloadng
Operator overloadngOperator overloadng
Operator overloadngpreethalal
 
Operator overloading
Operator overloadingOperator overloading
Operator overloadingKamal Acharya
 
operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++
gourav kottawar
 
Function Overlaoding
Function OverlaodingFunction Overlaoding
Function Overlaoding
Chandrakiran Satdeve
 
Function overloading
Function overloadingFunction overloading
Function overloading
Jnyanaranjan Dash
 
Function overloading
Function overloadingFunction overloading
Function overloading
Selvin Josy Bai Somu
 
Operator Overloading and Scope of Variable
Operator Overloading and Scope of VariableOperator Overloading and Scope of Variable
Operator Overloading and Scope of Variable
MOHIT DADU
 
Overloading of io stream operators
Overloading of io stream operatorsOverloading of io stream operators
Overloading of io stream operators
SARAVANAN GOPALAKRISHNAN
 
operator overloading
operator overloadingoperator overloading
operator overloading
Sorath Peetamber
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
Mani Singh
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
Northeastern University
 
Inheritance
InheritanceInheritance
InheritanceTech_MX
 
Object-Oriented Programming Using C++
Object-Oriented Programming Using C++Object-Oriented Programming Using C++
Object-Oriented Programming Using C++
Salahaddin University-Erbil
 
ipsum.pdf
ipsum.pdfipsum.pdf
ipsum.pdf
reezo21
 
บทที่ 2 (ต่อ) ภาคปลาย.2555
บทที่ 2 (ต่อ) ภาคปลาย.2555บทที่ 2 (ต่อ) ภาคปลาย.2555
บทที่ 2 (ต่อ) ภาคปลาย.2555nuchida suwapaet
 

Viewers also liked (20)

Lec 26.27-operator overloading
Lec 26.27-operator overloadingLec 26.27-operator overloading
Lec 26.27-operator overloading
 
operator overloading in c++
operator overloading in c++operator overloading in c++
operator overloading in c++
 
Presentation on overloading
Presentation on overloading Presentation on overloading
Presentation on overloading
 
Operator overloading in C++
Operator overloading in C++Operator overloading in C++
Operator overloading in C++
 
Operator overloadng
Operator overloadngOperator overloadng
Operator overloadng
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++operator overloading & type conversion in cpp over view || c++
operator overloading & type conversion in cpp over view || c++
 
Function Overlaoding
Function OverlaodingFunction Overlaoding
Function Overlaoding
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Operator Overloading and Scope of Variable
Operator Overloading and Scope of VariableOperator Overloading and Scope of Variable
Operator Overloading and Scope of Variable
 
Overloading of io stream operators
Overloading of io stream operatorsOverloading of io stream operators
Overloading of io stream operators
 
operator overloading
operator overloadingoperator overloading
operator overloading
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
 
Operator overloading
Operator overloading Operator overloading
Operator overloading
 
Inheritance
InheritanceInheritance
Inheritance
 
Inheritance
InheritanceInheritance
Inheritance
 
Object-Oriented Programming Using C++
Object-Oriented Programming Using C++Object-Oriented Programming Using C++
Object-Oriented Programming Using C++
 
ipsum.pdf
ipsum.pdfipsum.pdf
ipsum.pdf
 
บทที่ 2 (ต่อ) ภาคปลาย.2555
บทที่ 2 (ต่อ) ภาคปลาย.2555บทที่ 2 (ต่อ) ภาคปลาย.2555
บทที่ 2 (ต่อ) ภาคปลาย.2555
 

Similar to Bca 2nd sem u-4 operator overloading

Operator overloading
Operator overloadingOperator overloading
Operator overloading
ramya marichamy
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
zindadili
 
operator overloading
operator overloadingoperator overloading
operator overloading
Nishant Joshi
 
Object Oriented Programming using C++ - Part 3
Object Oriented Programming using C++ - Part 3Object Oriented Programming using C++ - Part 3
Object Oriented Programming using C++ - Part 3
University College of Engineering Kakinada, JNTUK - Kakinada, India
 
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptxObject Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
RashidFaridChishti
 
Cpp (C++)
Cpp (C++)Cpp (C++)
Cpp (C++)
Jay Patel
 
chapter-8-function-overloading.pdf
chapter-8-function-overloading.pdfchapter-8-function-overloading.pdf
chapter-8-function-overloading.pdf
study material
 
Lec 28 - operator overloading
Lec 28 - operator overloadingLec 28 - operator overloading
Lec 28 - operator overloadingPrincess Sam
 
overloading in C++
overloading in C++overloading in C++
overloading in C++
Prof Ansari
 
Ch-4-Operator Overloading.pdf
Ch-4-Operator Overloading.pdfCh-4-Operator Overloading.pdf
Ch-4-Operator Overloading.pdf
esuEthopi
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
Garima Singh Makhija
 
operator overloading & type conversion in cpp
operator overloading & type conversion in cppoperator overloading & type conversion in cpp
operator overloading & type conversion in cpp
gourav kottawar
 
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Lecture 5, c++(complete reference,herbet sheidt)chapter-15Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Abu Saleh
 
Cs2312 OOPS LAB MANUAL
Cs2312 OOPS LAB MANUALCs2312 OOPS LAB MANUAL
Cs2312 OOPS LAB MANUALPrabhu D
 
M11 operator overloading and type conversion
M11 operator overloading and type conversionM11 operator overloading and type conversion
M11 operator overloading and type conversion
NabeelaNousheen
 
Operator overloaing
Operator overloaingOperator overloaing
Operator overloaing
zindadili
 
Lecture2.ppt
Lecture2.pptLecture2.ppt
Lecture2.ppt
TarekHemdan3
 
3. Polymorphism.pptx
3. Polymorphism.pptx3. Polymorphism.pptx
3. Polymorphism.pptx
ChhaviCoachingCenter
 

Similar to Bca 2nd sem u-4 operator overloading (20)

Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Operator overloading2
Operator overloading2Operator overloading2
Operator overloading2
 
operator overloading
operator overloadingoperator overloading
operator overloading
 
Object Oriented Programming using C++ - Part 3
Object Oriented Programming using C++ - Part 3Object Oriented Programming using C++ - Part 3
Object Oriented Programming using C++ - Part 3
 
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptxObject Oriented Programming using C++: Ch08 Operator Overloading.pptx
Object Oriented Programming using C++: Ch08 Operator Overloading.pptx
 
Oops
OopsOops
Oops
 
Cpp (C++)
Cpp (C++)Cpp (C++)
Cpp (C++)
 
chapter-8-function-overloading.pdf
chapter-8-function-overloading.pdfchapter-8-function-overloading.pdf
chapter-8-function-overloading.pdf
 
Lec 28 - operator overloading
Lec 28 - operator overloadingLec 28 - operator overloading
Lec 28 - operator overloading
 
overloading in C++
overloading in C++overloading in C++
overloading in C++
 
Ch-4-Operator Overloading.pdf
Ch-4-Operator Overloading.pdfCh-4-Operator Overloading.pdf
Ch-4-Operator Overloading.pdf
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
operator overloading & type conversion in cpp
operator overloading & type conversion in cppoperator overloading & type conversion in cpp
operator overloading & type conversion in cpp
 
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Lecture 5, c++(complete reference,herbet sheidt)chapter-15Lecture 5, c++(complete reference,herbet sheidt)chapter-15
Lecture 5, c++(complete reference,herbet sheidt)chapter-15
 
Cs2312 OOPS LAB MANUAL
Cs2312 OOPS LAB MANUALCs2312 OOPS LAB MANUAL
Cs2312 OOPS LAB MANUAL
 
M11 operator overloading and type conversion
M11 operator overloading and type conversionM11 operator overloading and type conversion
M11 operator overloading and type conversion
 
Lecture 3 c++
Lecture 3 c++Lecture 3 c++
Lecture 3 c++
 
Operator overloaing
Operator overloaingOperator overloaing
Operator overloaing
 
Lecture2.ppt
Lecture2.pptLecture2.ppt
Lecture2.ppt
 
3. Polymorphism.pptx
3. Polymorphism.pptx3. Polymorphism.pptx
3. Polymorphism.pptx
 

More from Rai University

Brochure Rai University
Brochure Rai University Brochure Rai University
Brochure Rai University
Rai University
 
Mm unit 4point2
Mm unit 4point2Mm unit 4point2
Mm unit 4point2
Rai University
 
Mm unit 4point1
Mm unit 4point1Mm unit 4point1
Mm unit 4point1
Rai University
 
Mm unit 4point3
Mm unit 4point3Mm unit 4point3
Mm unit 4point3
Rai University
 
Mm unit 3point2
Mm unit 3point2Mm unit 3point2
Mm unit 3point2
Rai University
 
Mm unit 3point1
Mm unit 3point1Mm unit 3point1
Mm unit 3point1
Rai University
 
Mm unit 2point2
Mm unit 2point2Mm unit 2point2
Mm unit 2point2
Rai University
 
Mm unit 2 point 1
Mm unit 2 point 1Mm unit 2 point 1
Mm unit 2 point 1
Rai University
 
Mm unit 1point3
Mm unit 1point3Mm unit 1point3
Mm unit 1point3
Rai University
 
Mm unit 1point2
Mm unit 1point2Mm unit 1point2
Mm unit 1point2
Rai University
 
Mm unit 1point1
Mm unit 1point1Mm unit 1point1
Mm unit 1point1
Rai University
 
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Rai University
 
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Rai University
 
Bsc agri 2 pae u-4.3 public expenditure
Bsc agri  2 pae  u-4.3 public expenditureBsc agri  2 pae  u-4.3 public expenditure
Bsc agri 2 pae u-4.3 public expenditure
Rai University
 
Bsc agri 2 pae u-4.2 public finance
Bsc agri  2 pae  u-4.2 public financeBsc agri  2 pae  u-4.2 public finance
Bsc agri 2 pae u-4.2 public finance
Rai University
 
Bsc agri 2 pae u-4.1 introduction
Bsc agri  2 pae  u-4.1 introductionBsc agri  2 pae  u-4.1 introduction
Bsc agri 2 pae u-4.1 introduction
Rai University
 
Bsc agri 2 pae u-3.3 inflation
Bsc agri  2 pae  u-3.3  inflationBsc agri  2 pae  u-3.3  inflation
Bsc agri 2 pae u-3.3 inflation
Rai University
 
Bsc agri 2 pae u-3.2 introduction to macro economics
Bsc agri  2 pae  u-3.2 introduction to macro economicsBsc agri  2 pae  u-3.2 introduction to macro economics
Bsc agri 2 pae u-3.2 introduction to macro economics
Rai University
 
Bsc agri 2 pae u-3.1 marketstructure
Bsc agri  2 pae  u-3.1 marketstructureBsc agri  2 pae  u-3.1 marketstructure
Bsc agri 2 pae u-3.1 marketstructure
Rai University
 
Bsc agri 2 pae u-3 perfect-competition
Bsc agri  2 pae  u-3 perfect-competitionBsc agri  2 pae  u-3 perfect-competition
Bsc agri 2 pae u-3 perfect-competition
Rai University
 

More from Rai University (20)

Brochure Rai University
Brochure Rai University Brochure Rai University
Brochure Rai University
 
Mm unit 4point2
Mm unit 4point2Mm unit 4point2
Mm unit 4point2
 
Mm unit 4point1
Mm unit 4point1Mm unit 4point1
Mm unit 4point1
 
Mm unit 4point3
Mm unit 4point3Mm unit 4point3
Mm unit 4point3
 
Mm unit 3point2
Mm unit 3point2Mm unit 3point2
Mm unit 3point2
 
Mm unit 3point1
Mm unit 3point1Mm unit 3point1
Mm unit 3point1
 
Mm unit 2point2
Mm unit 2point2Mm unit 2point2
Mm unit 2point2
 
Mm unit 2 point 1
Mm unit 2 point 1Mm unit 2 point 1
Mm unit 2 point 1
 
Mm unit 1point3
Mm unit 1point3Mm unit 1point3
Mm unit 1point3
 
Mm unit 1point2
Mm unit 1point2Mm unit 1point2
Mm unit 1point2
 
Mm unit 1point1
Mm unit 1point1Mm unit 1point1
Mm unit 1point1
 
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,Bdft ii, tmt, unit-iii,  dyeing & types of dyeing,
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
 
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02Bsc agri  2 pae  u-4.4 publicrevenue-presentation-130208082149-phpapp02
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
 
Bsc agri 2 pae u-4.3 public expenditure
Bsc agri  2 pae  u-4.3 public expenditureBsc agri  2 pae  u-4.3 public expenditure
Bsc agri 2 pae u-4.3 public expenditure
 
Bsc agri 2 pae u-4.2 public finance
Bsc agri  2 pae  u-4.2 public financeBsc agri  2 pae  u-4.2 public finance
Bsc agri 2 pae u-4.2 public finance
 
Bsc agri 2 pae u-4.1 introduction
Bsc agri  2 pae  u-4.1 introductionBsc agri  2 pae  u-4.1 introduction
Bsc agri 2 pae u-4.1 introduction
 
Bsc agri 2 pae u-3.3 inflation
Bsc agri  2 pae  u-3.3  inflationBsc agri  2 pae  u-3.3  inflation
Bsc agri 2 pae u-3.3 inflation
 
Bsc agri 2 pae u-3.2 introduction to macro economics
Bsc agri  2 pae  u-3.2 introduction to macro economicsBsc agri  2 pae  u-3.2 introduction to macro economics
Bsc agri 2 pae u-3.2 introduction to macro economics
 
Bsc agri 2 pae u-3.1 marketstructure
Bsc agri  2 pae  u-3.1 marketstructureBsc agri  2 pae  u-3.1 marketstructure
Bsc agri 2 pae u-3.1 marketstructure
 
Bsc agri 2 pae u-3 perfect-competition
Bsc agri  2 pae  u-3 perfect-competitionBsc agri  2 pae  u-3 perfect-competition
Bsc agri 2 pae u-3 perfect-competition
 

Recently uploaded

Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
AzmatAli747758
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
Celine George
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
bennyroshan06
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
Fundacja Rozwoju Społeczeństwa Przedsiębiorczego
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 

Recently uploaded (20)

Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...Cambridge International AS  A Level Biology Coursebook - EBook (MaryFosbery J...
Cambridge International AS A Level Biology Coursebook - EBook (MaryFosbery J...
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdfESC Beyond Borders _From EU to You_ InfoPack general.pdf
ESC Beyond Borders _From EU to You_ InfoPack general.pdf
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 

Bca 2nd sem u-4 operator overloading

  • 2. Introduction of Operator Overloading  Operator overloading is an important concept in C++.  It is a type of polymorphism in which an operator is overloaded to give user defined meaning to it.  Overloaded operator is used to perform operation on user-defined data type.  For example '+' operator can be overloaded to perform addition on various data types, like for Integer, String(concatenation) etc.
  • 4. Operator Overloading  Almost any operator can be overloaded in C++.  However there are few operator which can not be overloaded. Operator that are not overloaded are follows. 1.scope operator - :: 2.sizeof 3.member selector - . 4.member pointer selector - * 5.ternary operator - ?:
  • 6. Implementing Operator Overloading  Operator overloading can be done by implementing a function which can be : 1.Member Function 2.Non-Member Function 3.Friend Function
  • 7. Implementing Operator Overloading  Operator overloading function can be a member function if the Left operand is an Object of that class,  but if the Left operand is different, then Operator overloading function must be a non-member function.
  • 8. Restrictions on Operator Overloading  Precedence and Associativity of an operator cannot be changed.  Arity (numbers of Operands) cannot be changed. Unary operator remains unary, binary remains binary etc.  No new operators can be created, only existing operators can be overloaded.  Cannot redefine the meaning of a procedure. You cannot change how integers are added.
  • 9. Overloading Unary Operator using member Functions There are two types of operator overloading:  Unary operator overloading  Binary operator overloading
  • 10. Overloading Unary Operator using member Functions #include<iostream> using namespace std; { private: int count ; public: Inc() { count = 0 ;} Inc(int C) { count = C ; } Inc operator ++ () { Inc(++count); }
  • 11. Overloading Unary Operator using member Functions Inc operator -- (){ return Inc(--count);} void display(void){ cout << count << endl}}; void main(void) { Inc a, b(4), c, d, e(1), f(4); cout << "Before using the operator ++()n"; cout << "a = ";
  • 12. Overloading Unary Operator using member Functions a.display(); cout << "b = "; b.display(); ++a; b++; cout << "After using the operator ++()n"; cout << "a = "; a.display(); cout << "b = "; b.display();c = ++a; d = b++;
  • 13. Overloading Unary Operator using member Functions cout << "Result prefix (on a) and postfix (on b)n"; cout << "c = "; c.display(); cout << "d = "; d.display(); cout << "Before using the operator --()n"; cout << "e = "; e.display(); cout << "f = "; f.display();
  • 14. Overloading Unary Operator using friend Functions  When you overload a unary operator using a friend function you would have to pass one argument to the friend function.  Beware: When you use friend functions, they will not have the ‘this’ pointer.  If you attempt to modify some value of an object passed as argument, then the friend function actually only operates on a copy (it does not act on the original object).  This is because it is passed by value (and not as reference).
  • 15. Overloading Unary Operator using friend Functions  Thus you would actually have to work on a copy of the object, and then return a newly initialized object having the modified values (we did the same process in using friend function for binary operator overloading).  To work directly on the original object, you can make use of reference parameters in the operator overloaded friend function.
  • 16. Overloading Unary Operator using friend Functions #include<iostream.h> #include<conio.h> class point { private: int x,y; public: point(int i,int j) {
  • 17. Overloading Unary Operator using friend Functions x=i; y=j; } void show() { cout<<"point="<<"("<<x<<","<<y<<")"<<endl; }
  • 18. Overloading Unary Operator using friend Functions friend void operator++(point &p1); }; void operator++(point &p1) { p1.x++; p1.y++; }
  • 19. Overloading Unary Operator using friend Functions void main() { clrscr(); point p1(2,2); p1.show(); cout<<"after increment"<<endl; ++p1; p1.show(); getch();}
  • 20. Overloading Binary Operator using member Functions #include<iostream.h> include<conio.h> #include<stdlib.h> class stud{ int rno; char *name; int marks; public:
  • 21. Overloading Binary Operator using member Functions friend istream &operator>>(istream &,stud &); friend void operator<<(ostream &,stud &); };
  • 22. Overloading Binary Operator using member Functions istream &operator>>(istream &tin,stud &s) { cout<<"n Enter the no"; tin>>s.rno; #cout<<"n Enter the name"; tin>>s.name;
  • 23. Overloading Binary Operator using member Functions cout<<"n Enter Marks"; tin>>s.marks; return tin; } void operator<<(ostream &tout,stud &s) {
  • 24. Overloading Binary Operator using member Functions tout<<”n”<<s.rno; tout<<”n”<<s.name; tout<<”n”<<s.marks; } void main() { clrscr(); cout<<"ttBinaryOperator Overloading Using FriendFunction";
  • 25. Overloading Binary Operator using member Functions stud s; for(int i=0;i<3;i++) { cin>>s; } for( i=0;i<3;i++) { cout<<s; }getch();
  • 26. Overloading Binary Operator using friend Functions #include<iostream.h> #include<conio.h> #include<stdlib.h> class stud { int rno; char *name; int marks; public: friend istream &operator>>(istream &,stud &); friend void operator<<(ostream &,stud &); };
  • 27. Overloading Binary Operator using friend Functions istream&operator>>(istream &tin,stud &s){ cout<<"n Enter the no"; tin>>s.rno; cout<<"n Enter the name"; tin>>s.name; cout<<"n Enter Marks"; tin>>s.marks; return tin;
  • 28. Overloading Binary Operator using friend Functions }void operator<<(ostream &tout,stud &s) {tout<<”n”<<s.rno; cout<<"n Enter Marks"; tin>>s.marks; return tin;} void operator<<(ostream &tout,stud &s) {tout<<”n”<<s.rno;
  • 29. Rules for Operator Overloading. 1) Only built-in operators can be overloaded. New operators can not be created. 2) Arity of the operators cannot be changed. 3) Precedence and associativity of the operators cannot be changed.
  • 30. Rules for Operator Overloading. 4) Overloaded operators cannot have default arguments except the function call operator () which can have default arguments. 5) Operators cannot be overloaded for built in types only. At least one operand must be used defined type.
  • 31. Rules for Operator Overloading 6) Assignment (=), subscript ([]), function call (“()”), and member selection (->) operators must be defined as member functions. 7) Except the operators specified in point 6, all other operators can be either member functions or a non member functions. 8 ) Some operators like (assignment)=, (address)& and comma (,) are by default overloaded.
  • 32. REFRENCES • Learn Programming in C++ By Anshuman Sharma, Anurag Gupta, Dr.Hardeep Singh, Vikram Sharma