Answer Posted / jyoti bajaj
virtual keyword can be used with base classes as well as
with functions.Here we are talking about virtual base
classes.
class A
{
public:
A(){cout<<"it is class A"<<endl;}
};
class B:public A
{
public:
B(){cout<<"it is class B"<<endl;}
};
class C:public A
{
public:
C(){cout<<"it is class C"<<endl;}
};
class D:public B,public C
{
public:
D(){}
};
void main()
{
D obj;
}
output:
it is class A
it is class B
it is class A
it is class C
since class A is constructed twice.but if we want that only
one copy of class A should be shared by both classes A &
B.so we inherit the base class by using virtual keyword.
class A
{
public:
A(){cout<<"it is class A"<<endl;}
};
class B:virtual public A
{
public:
B(){cout<<"it is class B"<<endl;}
};
class C:virtual public A
{
public:
C(){cout<<"it is class C"<<endl;}
};
class D:public B,public C
{
public:
D(){}
};
void main()
{
D obj;
}
output:
it is class A
it is class B
it is class C
Is This Answer Correct ? | 5 Yes | 0 No |
Post New Answer View All Answers
What is interface in oop?
Get me an image implementation program.
What is static in oop?
Why is polymorphism needed?
Which method cannot be overridden?
what is difference between class template and template class?
Give an example where we have to specifically use C programming language and C++ programming language cannot be used?
What are two types of polymorphism?
Which is better struts or spring?
What is an example of genetic polymorphism?
What is coupling in oop?
Can a varargs method be overloaded?
What is advantage of inheritance?
class type to basic type conversion
What is encapsulation selenium?