Illustrate the problems with multiple inheritance, C/C++ Programming

Assignment Help:

Problems With Multiple Inheritance

The following example presents a problem with multiple inheritance.

class Aclass

 {

  public :

 void put()

                                 {

                                                :

                                 }

};

class  Bclass

 {

   public :

void put()

 {

                :

                                 }

 };

class Cclass : public Aclass , public Bclass

 {

  public  :

                                                :

                                                :

 };

                void main()

                 {

                  A objA;

                  B objB;

                  C objC;

 

objA.put();     // From Class A

objB.put();          // From class B

objC.put();          // AMBIGUOUS -RESULTS IN ERROR

                 }

The above example has a class C derived from two classes A and B. Both these classes have a function with the similar name - put(), which suppose, the derived class does not have. The class C inherits the put() function from both the classes. When a call to this function is made using the object of the derived class , the compiler does not know which class it is referring to. In this case, the scope resolution operator has to be used to state the correct object . Its usage is very simple. The statement giving an error from the above instance has to be replaced with the following :

 

                objC.A::put();    // for class A

                objC.B::put();    // for class B

 


Related Discussions:- Illustrate the problems with multiple inheritance

Compiler Design - Limit the Method Instructions, Raj is a newbie to the pro...

Raj is a newbie to the programming and while learning the programming language he came to know the following rules: · Each program must start with ''{'' and end with ''}''. Ã

Wap avgerage score-assignment- standard deviation of student, finds the ave...

finds the average for all assignments for an individual student float getAverageForStudent(float scores[20][10], int student, int numAssignments) {  }  // finds the average for

Program, First line starts with T, number of test cases. Each test case T c...

First line starts with T, number of test cases. Each test case T contains a necklace (N).

Explain call by reference, Call by Reference Passing variables(paramete...

Call by Reference Passing variables(parameters) to a function in C can be done in two ways - pass by value, also called as call by value and pass by address or also known as ca

Draw a circle in c program , Draw a circle in c program: void main() ...

Draw a circle in c program: void main() { clrscr(); int i,r=50,t,j,x,y; int gd,gm; gd =DETECT; initgraph(&gd,&gm,""); for(x=50;x for(y=50;y {   i

#superASC2 SRTING COST, A string S is said to be "Super ASCII", if it conta...

A string S is said to be "Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''a''-''z'') and the asci

Write a program to illustrate the call by reference, Write a Program to ill...

Write a Program to illustrate the Call by Reference? Here is an illustration: #include . int compute_sum(int *n); int main( void) { int n=3, sum; printf("%d\n",n); /

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd