Hey i have one questio .....plzz do answer........
i have 3 classes A,B and D

A is base class........

if B is derived from A..

can we derive C from both A and B......??

Recommended Answers

All 2 Replies

Yes, in a few different ways.

First, if C derives from B, then it is also derived from A, through the fact that B is derived from A. In other words, derived classes inherit from their base class(es) and all their base class(es).

Second, C++ also permits multiple inheritance, meaning that a class can derive from multiple base classes. They are declared as class C : public A, public B { /* .. */ };. However, this can creates some awkward situations in the case for example that B derives from A, then it means that C inherits twice from the base class A. In fact, C will indeed inherit twice from A (in formal jargon, we say that C has two inherited sub-objects of class A).

Finally, to use multiple inheritance while not getting duplicated base classes, you have to use virtual inheritance. That is, if you declare class B : public virtual A { }; and then do class C : public virtual A, public B { };, then the result is that C will inherit only one base-class A (i.e. as opposed to two in the previous method).

Read more about it here.

Thank you so much..

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.