Answer Posted / achal ubbott
The concept of virtual inheritance was evolved to avoid
ambiguity/duplication.
e.g.
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 ? | 5 Yes | 1 No |
Post New Answer View All Answers
Name the implicit member functions of a class.
What is prototype for that c string function?
What are the benefits of c++?
What c++ library is string in?
What's the most powerful programming language?
Which of the following is not a valid declaration for main() a) int main() b) int main(int argc, char *argv[]) c) They both work
Why c++ is not a pure oop language?
What is new in c++?
What is the limitation of cin while taking input for character array?
Why should we use null or zero in a program?
What is pair in c++?
what is data encapsulation in C++?
What is c++ 11 and c++ 14?
How would you use the functions sin(), pow(), sqrt()?
What is a linked list in c++?