Skip to content

Create multiple inheritance#1

Open
atulj968 wants to merge 1 commit into
kwmoore81:masterfrom
atulj968:patch-1
Open

Create multiple inheritance#1
atulj968 wants to merge 1 commit into
kwmoore81:masterfrom
atulj968:patch-1

Conversation

@atulj968

Copy link
Copy Markdown

Multiple Inheritance is a feature of C++ where a class can inherit from more than one classes.
In the above program, constructor of ‘Person’ is called two times. Destructor of ‘Person’ will also be called two times when object ‘ta1’ is destructed. So object ‘ta1’ has two copies of all members of ‘Person’, this causes ambiguities. The solution to this problem is ‘virtual’ keyword. We make the classes ‘Faculty’ and ‘Student’ as virtual base classes to avoid two copies of ‘Person’ in ‘TA’ class. For example, consider the following program.

Multiple Inheritance is a feature of C++ where a class can inherit from more than one classes.
In the above program, constructor of ‘Person’ is called two times. Destructor of ‘Person’ will also be called two times when object ‘ta1’ is destructed. So object ‘ta1’ has two copies of all members of ‘Person’, this causes ambiguities. The solution to this problem is ‘virtual’ keyword. We make the classes ‘Faculty’ and ‘Student’ as virtual base classes to avoid two copies of ‘Person’ in ‘TA’ class. For example, consider the following program.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant