SlideShare une entreprise Scribd logo
1  sur  17
OOPS



   DONE BY:
   Ankush Kumar
Function Overloading
   C++ permits the use of two function with the same name.
 However such functions essentially have different argument list.
The difference can be in terms of number or type of arguments or
                              both.
   The biggest advantage of overloading is that it helps us to
 perform same operations on different datatypes without having
         the need to use separate names for each version.

This process of using two or more functions with the same name
  but differing in the signature is called function overloading.

But overloading of functions with different return types are not
                           allowed.

  In overloaded functions , the function call determines which
              function definition will be executed.
Function Overloading
Example:
#include<iostream>
using namespace std;

int abslt(int );
long abslt(long );
float abslt(float );
double abslt(double );

int main()
{
  int intgr=-5;
  long lnt=34225;
  float flt=-5.56;
  double dbl=-45.6768;
  cout<<" absoulte value of "<<intgr<<" = "<<abslt(intgr)<<endl;
   cout<<" absoulte value of "<<lnt<<" = "<<abslt(lng)<<endl;
cout<<" absoulte value of "<<flt<<" = "<<abslt(flt)<<endl;
cout<<" absoulte value of "<<dbl<<" = "<<abslt(dbl)<<endl;
}
int abslt(int num)
{
if(num>=0)
return num;
else
 return (-num);
}
long abslt(long num)
{
if(num>=0)
return num;
else return (-num);
}
float abslt(float num)
{
if(num>=0)
return num;
else return (-num);
}
double abslt(double num)
if(num>=0)
return num;
else return (-num);
}

OUTPUT
absoulte value of -5 = 5
absoulte value of 34225 = 34225
absoulte value of -5.56 = 5.56
absoulte value of -45.6768 = 45.6768


The above function finds the absolute value of any number int, long, float ,double.


The use of overloading may not have reduced the code complexity /size but has
definitely made it easier to understand and avoided the necessity of remembering
different names for each version function which perform identically the same task.
Call by Value & Call by Reference
   In C ++ programming language, variables can be
   referred differently depending on the context. For
   example, if you are writing a program for a low
   memory system, you may want to avoid copying
   larger sized types such as structs and arrays when
   passing them to functions. On the other hand,
   with data types like integers, there is no point in
   passing by reference when a pointer to an integer
   is the same size in memory as an integer itself.

   Now, let us learn how variables can be passed in
                     a C program.
Call By Value
When you use pass-by-value, the compiler copies the value of an
argument in a calling function to a corresponding non-pointer or non-
reference parameter in the called function definition. The parameter in the
called function is initialized with the value of the passed argument. As long
as the parameter has not been declared as constant, the value of the
parameter can be changed, but the changes are only performed within the
scope of the called function only; they have no effect on the value of the
argument in the calling function.

In the following example, main passes func two values: 5 and 7. The
function func receives copies of these values and accesses them by the
identifiers a and b. The function func changes the value of a. When control
passes back to main, the actual values of x and y are not changed.
Sample Program
#include <stdio.h>

void func (int a, int b)
{
  a += b;
  printf("In func, a = %d b = %dn", a, b);
}

int main(void)
{
  int x = 5, y = 7;
  func(x, y);
  printf("In main, x = %d y = %dn", x, y);
  return 0;
}
The output of the program is:

In func, a = 12 b = 7
In main, x = 5 y = 7
Call By Reference
There are two instances where a variable is passed by reference:

When you modify the value of the passed variable locally and also the
value of the variable in the calling function as well.

To avoid making a copy of the variable for efficiency reasons.
Passing by by reference refers to a method of passing the address of an
argument in the calling function to a corresponding parameter in the
called function.

 In C, the corresponding parameter in the called function must be
declared as a pointer type.

 In C++, the corresponding parameter can be declared as any reference
type, not just a pointer type.

In this way, the value of the argument in the calling function can be
modified by the called function.
Sample Program
The following example shows how arguments are passed by reference. In C++,
the reference parameters are initialized with the actual arguments when the
function is called. In C, the pointer parameters are initialized with pointer values
when the function is called.
   #include <stdio.h>

   void swapnum(int &i, int &j) {
     int temp = i;
     i = j;
     j = temp;
   }

   int main(void) {
    int a = 10;
    int b = 20;

       swapnum(a, b);
       printf("A is %d and B is %dn", a, b);
       return 0;
   }
Call by Value vs Call by Reference
 The process of calling          The process of calling
  function by actually sending     function using pointers to
  or passing the copies of         pass the address of
  data.                            variables .
 At most one value at a time     Multiple values can be
  can be returned to the           returned to calling function
  calling function with an         and explicit return
  explicit return statement.       statement is not required .
 Here formal parameters are      Here formal parameters are
  normal variable names that       pointer variables that can
  can receive actual               receive actual parameter or
  parameters/argument              arguments as address of
  value’s copy.                    variables .
Calling a Function using a Pointer
     In C++ you call a function using a function
 pointer by explicitly dereferencing it using the *
 operator. Alternatively you may also just use the
     function pointer's instead of the funtion's
 name. In C++ the two operators .* resp. ->* are
    used together with an instance of a class in
   order to call one of their (non-static) member
  functions. If the call takes place within another
 member function you may use the this-pointer.
Calling a function using a pointer
EXAMPLE:-
main()
{
TMyClass instance1;
int result3 = (instance1.*pt2Member)(12, 'a', 'b'); // C++
int result4 = (*this.*pt2Member)(12, 'a', 'b');   // C++ if this-pointer can
                                                     be used

TMyClass* instance2 = new TMyClass;
int result4 = (instance2->*pt2Member)(12, 'a', 'b'); // C++, instance2 is a
                                                        pointer
delete instance2;
return 0;
}
Pass Object As An Argument
Like any other data type,an object may be used as
   a function argument.This can be done in two
                      ways:

 ->  A copy of the entire object is passed to the
                     function
 -> Only address of the object is transferred to
                   the function
The pass by referrence method is more efficient
since it requires to pass only the address of the
         object and not the entire object
Sample Program
/*C++ PROGRAM TO PASS OBJECT AS AN ARGUMEMT. The program Adds the
two heights given in feet and inches. */

#include< iostream.h>
#include< conio.h>

class height
{
int feet,inches;
public:
void getht(int f,int i)
{
feet=f;
inches=i;
}
void putheight()
{
cout< < "nHeight is:"< < feet< < "feett"< < inches< < "inches"< < endl;
}
void sum(height a,height b)
{
height n;
n.feet = a.feet + b.feet;
n.inches = a.inches + b.inches;
if(n.inches ==12)
{
n.feet++;
n.inches = n.inches -12;
}
cout< < endl< < "Height is "< < n.feet< < " feet and "< < n.inches< < endl;
}
};
void main()
{
height h,d,a;
clrscr();
h.getht(6,5);
a.getht(2,7);
h.putheight();
a.putheight();
d.sum(h,a);
getch();
}
Classes function overloading

Contenu connexe

Tendances

C++ Function
C++ FunctionC++ Function
C++ Function
Hajar
 
Inline function
Inline functionInline function
Inline function
Tech_MX
 

Tendances (19)

Function overloading and overriding
Function overloading and overridingFunction overloading and overriding
Function overloading and overriding
 
C++ Function
C++ FunctionC++ Function
C++ Function
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
Function overloading in c++
Function overloading in c++Function overloading in c++
Function overloading in c++
 
Types of function call
Types of function callTypes of function call
Types of function call
 
Functions in c language
Functions in c language Functions in c language
Functions in c language
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
C++ programming function
C++ programming functionC++ programming function
C++ programming function
 
Function
FunctionFunction
Function
 
Inline function
Inline functionInline function
Inline function
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
16717 functions in C++
16717 functions in C++16717 functions in C++
16717 functions in C++
 
functions in C and types
functions in C and typesfunctions in C and types
functions in C and types
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
Inline Functions and Default arguments
Inline Functions and Default argumentsInline Functions and Default arguments
Inline Functions and Default arguments
 
C functions
C functionsC functions
C functions
 
Lecture#6 functions in c++
Lecture#6 functions in c++Lecture#6 functions in c++
Lecture#6 functions in c++
 
Function in c
Function in cFunction in c
Function in c
 
C and C++ functions
C and C++ functionsC and C++ functions
C and C++ functions
 

En vedette

Php tutorial
Php tutorialPhp tutorial
Php tutorial
Niit
 

En vedette (7)

Being functional in PHP
Being functional in PHPBeing functional in PHP
Being functional in PHP
 
PHP Functions & Arrays
PHP Functions & ArraysPHP Functions & Arrays
PHP Functions & Arrays
 
Functions in php
Functions in phpFunctions in php
Functions in php
 
Oops concepts in php
Oops concepts in phpOops concepts in php
Oops concepts in php
 
Php string function
Php string function Php string function
Php string function
 
Housekeeping importance and function
Housekeeping importance and functionHousekeeping importance and function
Housekeeping importance and function
 
Php tutorial
Php tutorialPhp tutorial
Php tutorial
 

Similaire à Classes function overloading

Similaire à Classes function overloading (20)

Functions in C++.pdf
Functions in C++.pdfFunctions in C++.pdf
Functions in C++.pdf
 
C function
C functionC function
C function
 
Functionincprogram
FunctionincprogramFunctionincprogram
Functionincprogram
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptxUnit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
Unit_5Functionspptx__2022_12_27_10_47_17 (1).pptx
 
Functions
FunctionsFunctions
Functions
 
Unit iv functions
Unit  iv functionsUnit  iv functions
Unit iv functions
 
Function in c
Function in cFunction in c
Function in c
 
Functions
FunctionsFunctions
Functions
 
Functions1
Functions1Functions1
Functions1
 
UNIT3.pptx
UNIT3.pptxUNIT3.pptx
UNIT3.pptx
 
Functions and pointers_unit_4
Functions and pointers_unit_4Functions and pointers_unit_4
Functions and pointers_unit_4
 
Reference Parameter, Passing object by reference, constant parameter & Defaul...
Reference Parameter, Passing object by reference, constant parameter & Defaul...Reference Parameter, Passing object by reference, constant parameter & Defaul...
Reference Parameter, Passing object by reference, constant parameter & Defaul...
 
Function in c program
Function in c programFunction in c program
Function in c program
 
FUNCTIONS, CLASSES AND OBJECTS.pptx
FUNCTIONS, CLASSES AND OBJECTS.pptxFUNCTIONS, CLASSES AND OBJECTS.pptx
FUNCTIONS, CLASSES AND OBJECTS.pptx
 
Cpp functions
Cpp functionsCpp functions
Cpp functions
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxCH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
 
unit_2.pptx
unit_2.pptxunit_2.pptx
unit_2.pptx
 
User Defined Functions in C
User Defined Functions in CUser Defined Functions in C
User Defined Functions in C
 

Plus de ankush_kumar

mathematical induction
mathematical inductionmathematical induction
mathematical induction
ankush_kumar
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
ankush_kumar
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
ankush_kumar
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
ankush_kumar
 
Propositional And First-Order Logic
Propositional And First-Order LogicPropositional And First-Order Logic
Propositional And First-Order Logic
ankush_kumar
 
Soacial networking 3
Soacial networking  3Soacial networking  3
Soacial networking 3
ankush_kumar
 
Soacial networking 1
Soacial networking  1Soacial networking  1
Soacial networking 1
ankush_kumar
 
Memory organisation
Memory organisationMemory organisation
Memory organisation
ankush_kumar
 
Social networking 2
Social networking 2Social networking 2
Social networking 2
ankush_kumar
 
Set theory and relation
Set theory and relationSet theory and relation
Set theory and relation
ankush_kumar
 

Plus de ankush_kumar (14)

Social Networking
Social NetworkingSocial Networking
Social Networking
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
 
mathematical induction
mathematical inductionmathematical induction
mathematical induction
 
Inheritance
InheritanceInheritance
Inheritance
 
Propositional And First-Order Logic
Propositional And First-Order LogicPropositional And First-Order Logic
Propositional And First-Order Logic
 
Oops
OopsOops
Oops
 
Soacial networking 3
Soacial networking  3Soacial networking  3
Soacial networking 3
 
Soacial networking 1
Soacial networking  1Soacial networking  1
Soacial networking 1
 
Memory organisation
Memory organisationMemory organisation
Memory organisation
 
Social networking 2
Social networking 2Social networking 2
Social networking 2
 
Linked list
Linked listLinked list
Linked list
 
Set theory and relation
Set theory and relationSet theory and relation
Set theory and relation
 

Dernier

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Dernier (20)

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
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
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
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Magic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptxMagic bus Group work1and 2 (Team 3).pptx
Magic bus Group work1and 2 (Team 3).pptx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 

Classes function overloading

  • 1. OOPS DONE BY: Ankush Kumar
  • 2. Function Overloading C++ permits the use of two function with the same name. However such functions essentially have different argument list. The difference can be in terms of number or type of arguments or both. The biggest advantage of overloading is that it helps us to perform same operations on different datatypes without having the need to use separate names for each version. This process of using two or more functions with the same name but differing in the signature is called function overloading. But overloading of functions with different return types are not allowed. In overloaded functions , the function call determines which function definition will be executed.
  • 3. Function Overloading Example: #include<iostream> using namespace std; int abslt(int ); long abslt(long ); float abslt(float ); double abslt(double ); int main() { int intgr=-5; long lnt=34225; float flt=-5.56; double dbl=-45.6768; cout<<" absoulte value of "<<intgr<<" = "<<abslt(intgr)<<endl; cout<<" absoulte value of "<<lnt<<" = "<<abslt(lng)<<endl;
  • 4. cout<<" absoulte value of "<<flt<<" = "<<abslt(flt)<<endl; cout<<" absoulte value of "<<dbl<<" = "<<abslt(dbl)<<endl; } int abslt(int num) { if(num>=0) return num; else return (-num); } long abslt(long num) { if(num>=0) return num; else return (-num); } float abslt(float num) { if(num>=0) return num; else return (-num); } double abslt(double num)
  • 5. if(num>=0) return num; else return (-num); } OUTPUT absoulte value of -5 = 5 absoulte value of 34225 = 34225 absoulte value of -5.56 = 5.56 absoulte value of -45.6768 = 45.6768 The above function finds the absolute value of any number int, long, float ,double. The use of overloading may not have reduced the code complexity /size but has definitely made it easier to understand and avoided the necessity of remembering different names for each version function which perform identically the same task.
  • 6. Call by Value & Call by Reference In C ++ programming language, variables can be referred differently depending on the context. For example, if you are writing a program for a low memory system, you may want to avoid copying larger sized types such as structs and arrays when passing them to functions. On the other hand, with data types like integers, there is no point in passing by reference when a pointer to an integer is the same size in memory as an integer itself. Now, let us learn how variables can be passed in a C program.
  • 7. Call By Value When you use pass-by-value, the compiler copies the value of an argument in a calling function to a corresponding non-pointer or non- reference parameter in the called function definition. The parameter in the called function is initialized with the value of the passed argument. As long as the parameter has not been declared as constant, the value of the parameter can be changed, but the changes are only performed within the scope of the called function only; they have no effect on the value of the argument in the calling function. In the following example, main passes func two values: 5 and 7. The function func receives copies of these values and accesses them by the identifiers a and b. The function func changes the value of a. When control passes back to main, the actual values of x and y are not changed.
  • 8. Sample Program #include <stdio.h> void func (int a, int b) { a += b; printf("In func, a = %d b = %dn", a, b); } int main(void) { int x = 5, y = 7; func(x, y); printf("In main, x = %d y = %dn", x, y); return 0; } The output of the program is: In func, a = 12 b = 7 In main, x = 5 y = 7
  • 9. Call By Reference There are two instances where a variable is passed by reference: When you modify the value of the passed variable locally and also the value of the variable in the calling function as well. To avoid making a copy of the variable for efficiency reasons. Passing by by reference refers to a method of passing the address of an argument in the calling function to a corresponding parameter in the called function.  In C, the corresponding parameter in the called function must be declared as a pointer type.  In C++, the corresponding parameter can be declared as any reference type, not just a pointer type. In this way, the value of the argument in the calling function can be modified by the called function.
  • 10. Sample Program The following example shows how arguments are passed by reference. In C++, the reference parameters are initialized with the actual arguments when the function is called. In C, the pointer parameters are initialized with pointer values when the function is called. #include <stdio.h> void swapnum(int &i, int &j) { int temp = i; i = j; j = temp; } int main(void) { int a = 10; int b = 20; swapnum(a, b); printf("A is %d and B is %dn", a, b); return 0; }
  • 11. Call by Value vs Call by Reference  The process of calling  The process of calling function by actually sending function using pointers to or passing the copies of pass the address of data. variables .  At most one value at a time  Multiple values can be can be returned to the returned to calling function calling function with an and explicit return explicit return statement. statement is not required .  Here formal parameters are  Here formal parameters are normal variable names that pointer variables that can can receive actual receive actual parameter or parameters/argument arguments as address of value’s copy. variables .
  • 12. Calling a Function using a Pointer In C++ you call a function using a function pointer by explicitly dereferencing it using the * operator. Alternatively you may also just use the function pointer's instead of the funtion's name. In C++ the two operators .* resp. ->* are used together with an instance of a class in order to call one of their (non-static) member functions. If the call takes place within another member function you may use the this-pointer.
  • 13. Calling a function using a pointer EXAMPLE:- main() { TMyClass instance1; int result3 = (instance1.*pt2Member)(12, 'a', 'b'); // C++ int result4 = (*this.*pt2Member)(12, 'a', 'b'); // C++ if this-pointer can be used TMyClass* instance2 = new TMyClass; int result4 = (instance2->*pt2Member)(12, 'a', 'b'); // C++, instance2 is a pointer delete instance2; return 0; }
  • 14. Pass Object As An Argument Like any other data type,an object may be used as a function argument.This can be done in two ways: -> A copy of the entire object is passed to the function -> Only address of the object is transferred to the function The pass by referrence method is more efficient since it requires to pass only the address of the object and not the entire object
  • 15. Sample Program /*C++ PROGRAM TO PASS OBJECT AS AN ARGUMEMT. The program Adds the two heights given in feet and inches. */ #include< iostream.h> #include< conio.h> class height { int feet,inches; public: void getht(int f,int i) { feet=f; inches=i; } void putheight() { cout< < "nHeight is:"< < feet< < "feett"< < inches< < "inches"< < endl; }
  • 16. void sum(height a,height b) { height n; n.feet = a.feet + b.feet; n.inches = a.inches + b.inches; if(n.inches ==12) { n.feet++; n.inches = n.inches -12; } cout< < endl< < "Height is "< < n.feet< < " feet and "< < n.inches< < endl; } }; void main() { height h,d,a; clrscr(); h.getht(6,5); a.getht(2,7); h.putheight(); a.putheight(); d.sum(h,a); getch(); }