We know that constructor are used to initialize object. In the inheritance without initializing the base class members we can not derive the members of the base class to its derive class.
Therefore base class constructor are executed and then derive class constructor is executed. We must note here that if the base class constructor does not take any parameters then it is not necessary for the derived class to have a constructor.
In such situation , the base class constructor is called first and then the derived class constructor is executed.
#include<iostream.h>
#include<conio.h>
class A
{
public:
A( )
{
cout<<"\n\n\t Hi I am from A";
}
};
class B:public A
{
public:
B( )
{
cout<<"\n\n\t Hi I am from B";
}
};
class C:public B
{
public:
C( )
{
cout<<"\n\n\t Hi I am from C";
}
};
void main( )
{
clrscr( );
C c1;
getch( );
}
Output:-
Hi I am from A
Hi I am from B
Hi I am from C
Therefore base class constructor are executed and then derive class constructor is executed. We must note here that if the base class constructor does not take any parameters then it is not necessary for the derived class to have a constructor.
In such situation , the base class constructor is called first and then the derived class constructor is executed.
#include<iostream.h>
#include<conio.h>
class A
{
public:
A( )
{
cout<<"\n\n\t Hi I am from A";
}
};
class B:public A
{
public:
B( )
{
cout<<"\n\n\t Hi I am from B";
}
};
class C:public B
{
public:
C( )
{
cout<<"\n\n\t Hi I am from C";
}
};
void main( )
{
clrscr( );
C c1;
getch( );
}
Output:-
Hi I am from A
Hi I am from B
Hi I am from C
0 Comments:
Post a Comment