Lecture 5 - Slide 17 : 40
Multiple inheritance - issues and C++ solutions
Let us understand the major reason why multiple inheritance may be considered problematic
To see this image you must download and install the
SVG plugin from Adobe
.In Firefox please consult
this page.
Concrete problem
In a C object
ac
: Which
x
does
ac.x
refer to?
General problems
Name clash:
Does x in C refer to the x in A or the x in B?
The programmer decides. Use the scope resolution operator: A::x or B::x
Selection:
Do we have means in C to select either x in A or x in B?
Yes - as already seen
Combination:
Can x in A and x in B be combined to a single x in C?
No - but some control is possible via
virtual bases
Replication:
Is there one or two x pieces in C?
There are two x variables in a C object