引用: Effective C++ 第3版
ハンドルクラスの方法ではなく、Personをインタフェースクラスとよばれる特別な抽象クラスにする方法もあります。インタフェースクラスの目的は、派生クラスのインタフェースを特定することにあります。そのため、典型的なインタフェースクラスは、データメンバ、コンストラクタを持たず、仮想デストラクタと純粋仮想関数を持つことになります。
インタフェースとは何か
...
インタフェースのルール
...
インタフェースの記述
上記のリンクではjavaでの例が紹介されている。
More C++ Idioms/インタフェースクラス
意図
- クラスのインタフェースをその実装から分離する。
- 実行時多態的に抽象/クラスの実装を呼び出す。