| Lecture 5 - Slide 17 : 40|
Multiple inheritance - issues and C++ solutions
Let us understand the major reason why multiple inheritance may be considered problematic
- 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?
- 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