What is Virtual Inheritance?

Answers were Sorted based on User's Feedback

What is Virtual Inheritance?..

Answer / swetcha

Virtual inheritance is used to avoid multiple copies of a
base class in a multiple-inherited object. However, there
are cases where multiple copies of a base are needed in a
derived class. In such cases, virtual inheritance is
intentionally avoided

Is This Answer Correct ?    18 Yes 2 No

What is Virtual Inheritance?..

Answer / rakesh kumar

whenever there are two derived class derived from same base
class,when these two derived classes derive third derived
class which contain the properties of the 1st base class
twice.virtual class is use to avoid this.

Is This Answer Correct ?    5 Yes 1 No

What is Virtual Inheritance?..

Answer / achal ubbott

The concept of virtual inheritance was evolved to avoid

class base
int value;
now we do some multiple inheritance
class A:public base {};
class B:public base {};

Now value is member to both the classes A and B.
Lets have a class C that inherits from both A and B.
class C:public A, public B {};

Now should that mean that C have 2 copies of value as its
data member? Yes and this leads to ambiguity.
So do like this

class C:virtual public A,virtual public B {};

Is This Answer Correct ?    4 Yes 1 No

What is Virtual Inheritance?..

Answer / shivachinna

virtual concept is uaed to avoid confusions with same name
of methods in super class as well as sub class.....

Is This Answer Correct ?    0 Yes 0 No

What is Virtual Inheritance?..

Answer / rama

The duplication of inherited members due to multiple paths can be avoided by making the common base class(ancestor class) as virtual base class..


class A //grandparent
class B1:virtual public A //parent1
class B2:public virtual A //parent2
class C :public B1,public B2
... //only one copy of A
... //will be inherited

When a class is made a virtual base class, it take necessary care to see that only one copy of that class is inherited, regardless of how many inheritance paths exits between the virtual base class and a derived class.

Is This Answer Correct ?    0 Yes 0 No

What is Virtual Inheritance?..

Answer / sandeep mannarakkal

Virtual inheritance is used for creating an a class (portion in the derived object ) as first. Once this object portion got created then compiler insert a offset to the remaining portion of the object for identifying the virtual portions.

Is This Answer Correct ?    0 Yes 0 No

What is Virtual Inheritance?..

Answer / sharukh khan

Totally wrong answer !
you are fail man !
read some more books !

please read books guys , websites cheats you !

Is This Answer Correct ?    3 Yes 17 No

Post New Answer

More C++ General Interview Questions

write a program that withdrawals,deposits,balance check,shows mini statement. (using functions,pointers and arrays)

0 Answers  

How to stop conversions among objects?

5 Answers   Symphony,

What are the popular tools used to detect memory leaks in c++

4 Answers   TATA,

1. What does the following do: void afunction(int *x) { x=new int; *x=12; } int main() { int v=10; afunction(&v); cout<<v; } a) Outputs 12 b) Outputs 10 c) Outputs the address of v

5 Answers   Quark,

Write a corrected statement in c++ so that the statement will work properly. x + y=z;

2 Answers  


1 Answers  

class A { public: void f(); protected: A() {} A(const A&){} }; Examine the class declaration shown above. Why are the default and copy constructors declared as protected? 1. To ensure that A cannot be created via new by a more derived class 2. To ensure that A cannot be copied 3. To ensure that A cannot be used as a base class except when public inheritance has been used 4. To ensure that A cannot be created/copied outside the inheritance chain 5. To ensure that A cannot be instantiated as a static variable

1 Answers  

What are Binay tress and B trees? Diff between them?

8 Answers   GATE, Wipro, CTS,

What happens if an exception is throws from an object's constructor and from object's destructor?

3 Answers   TCS,

How do you initialize a class member, class x { const int i; };

8 Answers   emc2,

Why can you not make a constructor as const?

3 Answers  

plz send me National informatics center paper pattern

1 Answers