We can pass objects as parameter in the
functions.to use objects as parameter, we just pass the object’s name as in the
case of array.
Let a1 and
a2 are two objects and “add” is a function name then we will pass these objects
as parameters as
add(a1,a2);
When we make
function to pass objects as parameter then the data types of function attribute
must be the name of that class in which we are making that function.
I explain
this concepts using a complete code example
This code add, subtract and multiply
two objects values
#include<iostream>
#include<math.h>
using
namespace std;
class
complex
{
private:
float real;
float imaginary;
public:
complex():real(0),imaginary(0)
{}
complex(float
re,float im):real(re),imaginary(im)
{}
void
add(complex a,complex b)
{float
z;
float x,y,k;
z=a.real+b.real;
x=-(a.imaginary);
y=-(b.imaginary);
k=sqrt(x)+sqrt(y);
cout<<endl<<"addition
is
"<<z<<"+"<<k<<"i"<<endl;
}
void
subtruct(complex s,complex w)
{float
z;
float x,y,k;
z=s.real-w.real;
x=-(s.imaginary);
y=-(w.imaginary);
k=sqrt(x)-sqrt(y);
cout<<endl<<"subtrucrtion
is this"<<endl<<z;
if(k>=0)
{cout<<"+"<<k<<"i"<<endl;}
else
{cout<<"-"<<k<<"i"<<endl;}}
void
product(complex f1,complex f2)
{float
z;
float x,y,k,o,t,r1,r2;
z=f1.real*f2.real;
x=-(f1.imaginary);
y=-(f2.imaginary);
k=(f1.real)*(sqrt(y));
o=(f2.real)*(f1.imaginary);
t=x*y;
r1=z+t;
r2=k+o;
cout<<endl<<"production
is this "<<r1;
if(r2>=0)
{
cout<<"+"<<r2<<endl;}
else
{cout<<"-"<<r2<<endl;}}
void
getdata()
{
cout<<"enter
real and imaginary ";
cin>>real>>imaginary;}
};
void
main()
{
complex i(12.2,-25.3);
complex e1,e2,e3,e4;
e1.getdata();
e2.add(i,e1);
e3.subtruct(i,e1);
e4.product(i,e1);
system("pause");}
Here:
void
add(complex a,complex b);
void
subtruct(complex s,complex w);
void
product(complex f1,complex f2);
These are
the function declaration method to use objects as parameters and here complex
is the name of class in which these functions are made.
And
e2.add(i,e1);
e3.subtruct(i,e1);
e4.product(i,e1);
Here
functions are called in which objects are passed as parameters;
Here i, e1, e2
and e3 are objects names.
No comments:
Post a Comment