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

Largest clique, find largest clique present in graph

find largest clique present in graph

Return values, What is the purpose of return values? Can you not return any...

What is the purpose of return values? Can you not return any values from a function? If you could what would he function look like?

Arguments passing mechanism, Arguments Passing Mechanism C++ supports th...

Arguments Passing Mechanism C++ supports the following argument passing mechanisms: i).  Pass by value: A copy of the arguments value is made and passed to the called functio

Computer, Is computer an intelligent machine?

Is computer an intelligent machine?

Implement a algorithm to verify if the link list , Implement a Algorithm to...

Implement a Algorithm to verify if the link list is in Ascending order? A: template bool linklist::isAscending() const{ nodeptr ptr = head; while (ptr->_next)

Inside and outside type casting, depth description of the inside and outsid...

depth description of the inside and outside typecasting

I want youtube down-upload boots, Project Description: Boots capture vid...

Project Description: Boots capture video from your YouTube channel and upload your own video to our channel or the copyright of the videos, bang, 3 parties, automatically delete

Change to palindrome, A palindrome is a string that reads the same from bot...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

Student, Ask4. Write a query to display the columns listed below. The query...

Ask4. Write a query to display the columns listed below. The query should list each customer in which the video rental is overdue. The Days_Overdue column should calculate the numb

Luminous Jewels - The Polishing Game, plaese tell the full program for the ...

plaese tell the full program for the above given topic with the input and output

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