public 繼承表示著 is-a 的關係。
Item 33:Avoid hiding inherited names
不遮避繼承而來的名稱。
Item 34:Differentiate between inheritance of interface and inheritance of implementation
適當地利用 virtual function 來達到介面繼承與實作繼承的關係,並區別兩種的不同。
Item 35:Consider alternatives to virtual functions
考慮以其它方式 (例如 NVI 或 Strategy pattern ) 來取代 virtual function。
Item 36:Never redefine an inherited non-virtual function
重新定義繼承而來的 non-virtual function 永遠是錯的。
Item 37:Never redefine a functions's inherited default parameter value
不重新定義繼承而來的預設參數值。
Item 38:Model has-a of implemented-in-term-of through composition
利用 composition 製造出 has-a 的關係。
Item 39:Use private inheritance judiciously
審慎決定使用 private 繼承 (private 繼承的層級通常比 composition 低)
Item 40:Use multiple inheritance judiciously
當鑽石型多重繼承時,請審慎使用虛擬繼承 (virtual inheritance)。