It would be helpful if you acquire reference books for these languages. There is a later edition of this book than the one referenced in the main text. The text also mentions a reference manual by Ellis and Stroustrup.
Inheritance allows defining new abstract data types as incremental specializations of existing ones.
Subtyping allows an instance of a more specialized type to be used where an instance of a more general type is expected. The course discusses software design patterns arising from the combination of inheritance and composition. Multiple inheritance allows a class to inherit code or data from more than one superclass. Let me try to simplify this description a little. The assumption at the outset is that students already have a rudimentary exposure to programming in an object-oriented language such as Java.