"Effective C + +"
Article 34: Differentiating between interface inheritance and implementation inheritance
Public inheritance is made up of two parts
Function Interface Inheritance
function Implementation Inheritance
Three types of inheritance that may be faced
Derived class only interfaces that inherit member functions
Derived class inherits the interface and implementation of the function, but also wants to overwrite the implementation that they inherit
Derived class concurrently inherits the interface and implementation of the function, but does not allow the overwrite of anything
Summarize:
Interface inheritance differs from implementation inheritance. under public inheritance,derived classes always inherits the interface of base class .
The Pure virtual function specifies only interface inheritance.
The simple impure virtual function Specifies interface inheritance and default implementation inheritance.
The non-virtual function specifies interface inheritance and mandatory implementation inheritance.
This article is from the "Do Your best" blog, so be sure to keep this source http://qiaopeng688.blog.51cto.com/3572484/1887745
"Effective C + +" clause 34: Differentiate between interface inheritance and implementation inheritance