Share via


抽象類別 (C++)

抽象類別用於表示可衍生更明確類別的一般概念。 您無法建立抽象類別類型的物件,但是可以使用抽象類別類型的指標和參考。

至少包含一個純虛擬函式的類別會被視為抽象類別。 衍生自抽象類別的類別必須實作純虛擬函式,否則這些類別也是抽象類別。

虛擬函式是使用 pure-specifier 語法宣告為「純虛擬函式」(類別通訊協定實作中會說明)。 請參考虛擬函式中的範例。 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) 宣告的。

請參閱

參考

衍生類別