引用: Effective C++ 第3版
publicな継承は、「is-a関係」を表します。もしこの意味に反することをすれば、トラブルになるのです。
msdn
オブジェクト指向プログラミングにおけるクラスの関係は、is-a と has-a の 2 つの関係で表されます。is-a 関係では、派生クラスは確実に基本クラスの一種です。
...
一方、CustomerReferral というクラスと Customer クラスの関係は has-a 関係です。これは、顧客紹介 (customer referral) には顧客 (customer) という語が含まれてはいますが、顧客の一種ではないためです。