Cpp permits to use the constructor like default, copy or parameterized constructor in the same class.
Constructor overloading means using multiple constructor in the class having different no og arguments and different types of argument.
Ex:
class abc
{
int m,n;
public:
abc( )
{
m=0;
n=0;
}
abc(int a, int b)
{
m=1;
n=b;
}
abc(abc &k)
{
m=k.m;
n=k.n;
}
};
Above class declares three constructor for the abc object.
→ The Statement abc a1;
Invokes the first constructor and set both m and n of a1 to zero.
→ The Statement abc a2(20,40);
Invokes the second constructor and set both m and n of a2 to 20 and 40 respectively.
→ The Statement abc a3(a2);
Invokes the third constructor and copies the value of data member of a2 to data member of a3.
#include<conio.h>
#include<iostream.h>
class abc
{
int m,n;
public:
abc( )
{
m=0;
n=0;
}
abc(int a, int b)
{
m=a;
n=b;
}
abc(abc &k)
{
m=k.m;
n=k.n;
}
void display( )
{
cout<<"\n\tValue of m is--->"<<m;
cout<<"\n\tValue of n is--->"<<n;
}
};
void main( )
{
abc a1;
abc a2(20,40);
abc a3(a2);
clrscr( );
a1.display( );
a2.display( );
a3.display( );
getch( );
}
Output:-
Value of m is--->0
Value of n is--->0
Value of m is--->20
Value of n is--->40
Value of m is--->20
Value of n is--->40
Constructor overloading means using multiple constructor in the class having different no og arguments and different types of argument.
Ex:
class abc
{
int m,n;
public:
abc( )
{
m=0;
n=0;
}
abc(int a, int b)
{
m=1;
n=b;
}
abc(abc &k)
{
m=k.m;
n=k.n;
}
};
Above class declares three constructor for the abc object.
→ The Statement abc a1;
Invokes the first constructor and set both m and n of a1 to zero.
→ The Statement abc a2(20,40);
Invokes the second constructor and set both m and n of a2 to 20 and 40 respectively.
→ The Statement abc a3(a2);
Invokes the third constructor and copies the value of data member of a2 to data member of a3.
#include<conio.h>
#include<iostream.h>
class abc
{
int m,n;
public:
abc( )
{
m=0;
n=0;
}
abc(int a, int b)
{
m=a;
n=b;
}
abc(abc &k)
{
m=k.m;
n=k.n;
}
void display( )
{
cout<<"\n\tValue of m is--->"<<m;
cout<<"\n\tValue of n is--->"<<n;
}
};
void main( )
{
abc a1;
abc a2(20,40);
abc a3(a2);
clrscr( );
a1.display( );
a2.display( );
a3.display( );
getch( );
}
Output:-
Value of m is--->0
Value of n is--->0
Value of m is--->20
Value of n is--->40
Value of m is--->20
Value of n is--->40
0 Comments:
Post a Comment