SlideShare a Scribd company logo
1 of 15
Operator Overloading
         In
        C#
              Presented By:
              Charndeep
              Kaur
              Lovepreet kaur
              Harpreet Kaur
Content
   What is Overloading?

   Types of Overloading.

   Operator Overloading.

   Types of Operator Overloading.

   References
What is Overloading?
   Multiple   functions,   Same    Name       ,
    Different types or amount of Parameters.
   Two Type is:-
       1. Method Overloading
       2. Operator Overloading.
Operator Overloading

   “is a way of redefining the meaning of C#

    operators”.

   Done with special functions.

   Can be Friend or Member Function.
Rules for Operator Overloading
    Only Predefined Operator is Overloaded.
    Cannot Change Operator Template.
    Natural meaning and overloaded meaning
     is same.
    Must have a user defined operand.
Types of Operator
Overloading.

   Unary Operator Overloading.

   Binary Operator Overloading.
Overloadable Operator                Not Overloadable Operator
Category            Operators        Category            Operators

Binary Arithmetic   + * / - %        Conditional         && ||
Unary Arithmetic    + - ++ --        Operators           += -= *=
Binary Bitwise      & | ^ << >>      Compound            /= %=
Unary Bitwise       ! ~ true false   assignment          [] () ?:
Logical Operators   == != >= < <==                       new
                    >                Other operators     sizeof
Operator Overloading……
   Syntax

    modifiers type operator op(arglist)
    {
            Method body//task defined
     }
Unary Operator Overloading
•   You can declare your own version of the
    increment (++) and decrement (--) operators.
•   They must be public, static and unary.

•   They can be used in prefix and postfix forms
Example:
Binary Operator Overloading
 At least one parameter must be of the
  enclosing type.
 You may overload as many times as you
  like with different parameter types.
 You may return any type.
 No “ref” or “out” parameters.
 Two Types:-
      1. Binary Arithmetic Operators
      2. Binary Comparison Operators
Binary Arithmetic Operators
   Operators + - * / % ^ & | << >>
   One of the parameters must be of the enclosing type
    // Class1 + Class1
    public static Class1 operator+(Class1 lhs, Class1 rhs)
    {
       return new Class1(lhs.X + rhs.X);
    }

    // Class1 + int
    public static Class1 operator+(Class1 lhs, int rhs)
    {
       return new Class1(lhs.X + rhs.X);
    }

    // int + Class1
    public static Class1 operator+(int lhs, Class1 rhs)
    {
       return rhs + lhs;
    }

                         Example
Binary Comparison Operators
 Operators == != < <= > >=
 Should return bool.
 Must overload them in „PAIRS‟


public static bool operator <(Class2 lhs, Class2 rhs)
{
  return new Class2(lhs.i < rhs.i);
}
                       Example
Determining Equality
   Two kinds of comparison for objects:
      Identity and equality
      System.Object.Equals method
      Equality operator(==)

     public override bool Equals(Object obj)
     {
     if (obj == null || GetType() != obj.GetType())
     return false;
     }
References
   http://devhawk.net/2003/07/09/operator-overloading-in-c/

   http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx

   http://www.csharpcorner.com/UploadFile/prasadh/OperatorOverloading111

    42005003229AM/OperatorOverloading.aspx

   http://www.vijaymukhi.com/documents/books/csbasics/chap12.htm

   http://blogs.msdn.com/b/ericlippert/archive/2007/05/14/why-are-

    overloaded-operators-always-static-in-c.aspx
Presentation on overloading

More Related Content

What's hot

Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
Alok Kumar
 
Java Methods
Java MethodsJava Methods
Java Methods
OXUS 20
 
Pointers in c
Pointers in cPointers in c
Pointers in c
Mohd Arif
 

What's hot (20)

Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Abstract class in c++
Abstract class in c++Abstract class in c++
Abstract class in c++
 
Constructor and Types of Constructors
Constructor and Types of ConstructorsConstructor and Types of Constructors
Constructor and Types of Constructors
 
Exception handling
Exception handlingException handling
Exception handling
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
Java Methods
Java MethodsJava Methods
Java Methods
 
Operator overloading and type conversions
Operator overloading and type conversionsOperator overloading and type conversions
Operator overloading and type conversions
 
07. Virtual Functions
07. Virtual Functions07. Virtual Functions
07. Virtual Functions
 
Friend function & friend class
Friend function & friend classFriend function & friend class
Friend function & friend class
 
classes and objects in C++
classes and objects in C++classes and objects in C++
classes and objects in C++
 
Constructor in java
Constructor in javaConstructor in java
Constructor in java
 
Control Statements in Java
Control Statements in JavaControl Statements in Java
Control Statements in Java
 
Pointers in c
Pointers in cPointers in c
Pointers in c
 
06. operator overloading
06. operator overloading06. operator overloading
06. operator overloading
 
Exception Handling in JAVA
Exception Handling in JAVAException Handling in JAVA
Exception Handling in JAVA
 
Constructors and Destructor in C++
Constructors and Destructor in C++Constructors and Destructor in C++
Constructors and Destructor in C++
 
Polymorphism In c++
Polymorphism In c++Polymorphism In c++
Polymorphism In c++
 
Introduction to cpp
Introduction to cppIntroduction to cpp
Introduction to cpp
 
java interface and packages
java interface and packagesjava interface and packages
java interface and packages
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
 

Viewers also liked

08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt
Tareq Hasan
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
Kumar
 
Operator overloadng
Operator overloadngOperator overloadng
Operator overloadng
preethalal
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
Kamal Acharya
 
Lec 26.27-operator overloading
Lec 26.27-operator overloadingLec 26.27-operator overloading
Lec 26.27-operator overloading
Princess Sam
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
abhay singh
 

Viewers also liked (20)

08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt08 c++ Operator Overloading.ppt
08 c++ Operator Overloading.ppt
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
operator overloading in c++
operator overloading in c++operator overloading in c++
operator overloading in c++
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Function Overlaoding
Function OverlaodingFunction Overlaoding
Function Overlaoding
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Operator overloadng
Operator overloadngOperator overloadng
Operator overloadng
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Lec 26.27-operator overloading
Lec 26.27-operator overloadingLec 26.27-operator overloading
Lec 26.27-operator overloading
 
Function overloading in c++
Function overloading in c++Function overloading in c++
Function overloading in c++
 
Function overloading and overriding
Function overloading and overridingFunction overloading and overriding
Function overloading and overriding
 
03 function overloading
03 function overloading03 function overloading
03 function 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++
 
Bca 2nd sem u-4 operator overloading
Bca 2nd sem u-4 operator overloadingBca 2nd sem u-4 operator overloading
Bca 2nd sem u-4 operator overloading
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
operator overloading
operator overloadingoperator overloading
operator overloading
 
Operator overloading in C++
Operator overloading in C++Operator overloading in C++
Operator overloading in C++
 
2CPP08 - Overloading and Overriding
2CPP08 - Overloading and Overriding2CPP08 - Overloading and Overriding
2CPP08 - Overloading and Overriding
 
friend function(c++)
friend function(c++)friend function(c++)
friend function(c++)
 

Similar to Presentation on overloading

Lec 28 - operator overloading
Lec 28 - operator overloadingLec 28 - operator overloading
Lec 28 - operator overloading
Princess Sam
 

Similar to Presentation on overloading (20)

Oops
OopsOops
Oops
 
Operator overloading (binary)
Operator overloading (binary)Operator overloading (binary)
Operator overloading (binary)
 
Lec 28 - operator overloading
Lec 28 - operator overloadingLec 28 - operator overloading
Lec 28 - operator overloading
 
OOPS-Seminar.pdf
OOPS-Seminar.pdfOOPS-Seminar.pdf
OOPS-Seminar.pdf
 
Operator overloaing
Operator overloaingOperator overloaing
Operator overloaing
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
NIKUL SURANI
NIKUL SURANINIKUL SURANI
NIKUL SURANI
 
Operator overloading C++
Operator overloading C++Operator overloading C++
Operator overloading C++
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
c++
c++c++
c++
 
Operator Overloading
Operator OverloadingOperator Overloading
Operator Overloading
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
Cpp (C++)
Cpp (C++)Cpp (C++)
Cpp (C++)
 
Operator overloading in C++
Operator  overloading in C++Operator  overloading in C++
Operator overloading in C++
 
Operators & Casts
Operators & CastsOperators & Casts
Operators & Casts
 
3d7b7 session4 c++
3d7b7 session4 c++3d7b7 session4 c++
3d7b7 session4 c++
 
Unary operator overloading
Unary operator overloadingUnary operator overloading
Unary operator overloading
 
Operator_Overloaing_Type_Conversion_OOPC(C++)
Operator_Overloaing_Type_Conversion_OOPC(C++)Operator_Overloaing_Type_Conversion_OOPC(C++)
Operator_Overloaing_Type_Conversion_OOPC(C++)
 

Recently uploaded

Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
MateoGardella
 

Recently uploaded (20)

Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 

Presentation on overloading

  • 1. Operator Overloading In C# Presented By: Charndeep Kaur Lovepreet kaur Harpreet Kaur
  • 2. Content  What is Overloading?  Types of Overloading.  Operator Overloading.  Types of Operator Overloading.  References
  • 3. What is Overloading?  Multiple functions, Same Name , Different types or amount of Parameters.  Two Type is:- 1. Method Overloading 2. Operator Overloading.
  • 4. Operator Overloading  “is a way of redefining the meaning of C# operators”.  Done with special functions.  Can be Friend or Member Function.
  • 5. Rules for Operator Overloading  Only Predefined Operator is Overloaded.  Cannot Change Operator Template.  Natural meaning and overloaded meaning is same.  Must have a user defined operand.
  • 6. Types of Operator Overloading.  Unary Operator Overloading.  Binary Operator Overloading.
  • 7. Overloadable Operator Not Overloadable Operator Category Operators Category Operators Binary Arithmetic + * / - % Conditional && || Unary Arithmetic + - ++ -- Operators += -= *= Binary Bitwise & | ^ << >> Compound /= %= Unary Bitwise ! ~ true false assignment [] () ?: Logical Operators == != >= < <== new > Other operators sizeof
  • 8. Operator Overloading……  Syntax modifiers type operator op(arglist) { Method body//task defined }
  • 9. Unary Operator Overloading • You can declare your own version of the increment (++) and decrement (--) operators. • They must be public, static and unary. • They can be used in prefix and postfix forms Example:
  • 10. Binary Operator Overloading  At least one parameter must be of the enclosing type.  You may overload as many times as you like with different parameter types.  You may return any type.  No “ref” or “out” parameters.  Two Types:- 1. Binary Arithmetic Operators 2. Binary Comparison Operators
  • 11. Binary Arithmetic Operators  Operators + - * / % ^ & | << >>  One of the parameters must be of the enclosing type // Class1 + Class1 public static Class1 operator+(Class1 lhs, Class1 rhs) { return new Class1(lhs.X + rhs.X); } // Class1 + int public static Class1 operator+(Class1 lhs, int rhs) { return new Class1(lhs.X + rhs.X); } // int + Class1 public static Class1 operator+(int lhs, Class1 rhs) { return rhs + lhs; } Example
  • 12. Binary Comparison Operators  Operators == != < <= > >=  Should return bool.  Must overload them in „PAIRS‟ public static bool operator <(Class2 lhs, Class2 rhs) { return new Class2(lhs.i < rhs.i); } Example
  • 13. Determining Equality  Two kinds of comparison for objects:  Identity and equality  System.Object.Equals method  Equality operator(==) public override bool Equals(Object obj) { if (obj == null || GetType() != obj.GetType()) return false; }
  • 14. References  http://devhawk.net/2003/07/09/operator-overloading-in-c/  http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx  http://www.csharpcorner.com/UploadFile/prasadh/OperatorOverloading111 42005003229AM/OperatorOverloading.aspx  http://www.vijaymukhi.com/documents/books/csbasics/chap12.htm  http://blogs.msdn.com/b/ericlippert/archive/2007/05/14/why-are- overloaded-operators-always-static-in-c.aspx

Editor's Notes

  1. Overloading is the idea of having multiple functons that are the same name. Each function must accept different types or amount of types. This is how the compiler differentiates from overloaded functions.