クラスのプロトコル実装
クラスにはプロトコルを適用するために実装できます。これらのクラスはクラス型のオブジェクトを作成できないため「抽象クラス」と呼ばれます。これらは派生のためだけに用意されています。
クラスは純粋仮想関数を含む場合または純粋仮想関数を継承しそれらの実装をすべて提供する抽象クラスです。純粋仮想関数は次のように = 0 純粋指定子 () とともに宣言された仮想関数です :
virtual char *Identify() = 0;
基本クラスはDocument すべての派生クラスに次のプロトコルを課すことがあります :
Identify の適切な関数を実装する必要があります。
WhereIs の適切な関数を実装する必要があります。
このようなプロトコルを指定して Document のクラスをデザインする非抽象クラスが Identify と WhereIs の関数がない実行できないクラス デザイナーが明確になる場合は。したがって Document のクラスはこれらの宣言が含まれています :
// deriv_ClassProtocolImplementation.cpp
// compile with: /LD
class Document {
public:
// Requirements for derived classes: They must implement
// these functions.
virtual char *Identify() = 0;
virtual char *WhereIs() = 0;
};