抽象クラス (C++)
抽象クラスは特定のクラスを取得できる的な概念の式として機能します。抽象クラスの型のオブジェクトを作成できません ; ただし抽象クラスの型へのポインターまたは参照を使用できます。
1 文字以上の純粋仮想関数を含むクラスは抽象クラスと見なされます。抽象クラスから派生したクラスは純粋仮想関数を実装する必要があります。実装しないと抽象クラスです。
純粋仮想関数は 「」に 純粋指定子の 構文で宣言されます (クラスのプロトコルの実装 で説明した方法で使用します。例を 仮想関数 で使用されることを検討してください。クラス Account の目的は一般的な機構を実現することですが Account 型のオブジェクトが役に立つには汎用的すぎて。したがってAccount は抽象クラスに適しています :
// deriv_AbstractClasses.cpp
// compile with: /LD
class Account {
public:
Account( double d ); // Constructor.
virtual double GetBalance(); // Obtain balance.
virtual void PrintBalance() = 0; // Pure virtual function.
private:
double _balance;
};
この宣言と前の例の唯一の違いはPrintBalance は純粋指定子 (= 0) とともに宣言されます。