Download presentation

Presentation is loading. Please wait.

Published byAmy Dering Modified over 2 years ago

1
Introduction to Programming Lecture 31

2
Operator Overloading

3
Today’s Lecture – Operators – Syntax for overloading operators operators – How to overload operators ?

4
Complex Number

5
complex c1, c2, x ; x = cadd ( c1, c2 ) ;

6
x = cadd ( cadd ( a, b ), c ) ;

7
Operators The complete list of C++ operators that are overloaded is as follows The complete list of C++ operators that are overloaded is as follows + - * / % ^ & | ~ ! = += -= *= /= %= ^= &= |= > >>= > >>= <<= = = != <= >= && | | ++ - - -> *, -> [ ] ( ) new new[ ] delete delete [ ]

8
a + b

9
Date.day

10
Example Return_type operator + (Argument_List) { // Body of function }

11
a * b + c ;

12
x = y + z ;

13
Example class Complex { private : double real ; double imag ; public : // member function }

14
Example Complex c1, c2 ; c1 = c2 ; Is equivalent to c1.real = c2.real ; c1.imag = c2.imag ;

15
Complex operator + ( Argument_ list ) ;

16
Complex Complex :: operator + ( Complex c ) { Complex temp ; temp.real = real + c.real ; temp.imag = imag + c.imag ; return temp ; } Example

17
Complex x, y, z ; z = x + y ;

18
z = x + d ; Complex Number Double Precision Number

19
Complex operator + ( double d ) ;

20
z = x + y ; z = x + d ;

21
Complex Complex :: operator + ( Complex c ) { Complex temp ; temp.real = real + d ; temp.imag = imag ; return temp ; } Example

22
z = d + x ; Complex Number Double Precision Number Complex Number

23
Friend Function

24
User Defined Data types

25
<<

26
Example main ( ) { Complex c1 ( 1, 2 ), c2 ( 3, 4 ), c3 ; c3 = c1 + c2 ; c1.display ( ) ; c2.display ( ) ; c3.display ( ) ; }

27
Complex operator + ( Complex & c ) ; C is a reference to a complex number

28
i += 2 ; i = i + 2 ;

29
c1 += c2 ;

30
Example Complex operator += ( Complex & c )

31
Example Complex Complex :: operator += ( Complex & c ) { real += c.real ; imag += c.imag ; }

32
Complex operator + ( Complex & c1, Complex & c2 ) { Complex temp ; temp.real = c1.getreal ( ) + c2.getreal ( ) ; temp.imag = c1.getimag ( ) + c2.getimag ( ) ; return temp ; } Example

33
Example class String { private : private : char s [ 30 ] ; char s [ 30 ] ; public : public : String ( ) String ( ) { strcpy ( s, "" ) ; strcpy ( s, "" ) ; } // Declaration (prototype) of overloaded sum operator // Declaration (prototype) of overloaded sum operator String operator + ( String c ) ; String operator + ( String c ) ; } ;

34
Example String String :: operator + ( String c ) { String temp ; String temp ; strcpy ( temp.s, "" ) ; strcpy ( temp.s, "" ) ; strcat ( temp.s, s ) ; strcat ( temp.s, s ) ; strcat ( temp.s, c.s ) ; strcat ( temp.s, c.s ) ; return temp ; return temp ;}

Similar presentations

OK

CS 11 C++ track: lecture 5 Today: Member initialization lists Linked lists friend functions.

CS 11 C++ track: lecture 5 Today: Member initialization lists Linked lists friend functions.

© 2018 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on as 14 amalgamation synonyms Ppt on polynomials of 92 Ppt on personality development skills Ppt on different types of dance forms pdf Uses of water for kids ppt on batteries Ppt on bluetooth broadcasting system Ppt on web browser Light coloured backgrounds for ppt on social media Ppt on unity in diversity biology Ppt on meaning of education