共用方式為


類別通訊協定實作

您可以實作類別以強制執行通訊協定。 這些類別稱為「抽象類別」,因為無法建立類別類型的物件。 這些類別只是為了進行衍生而存在。

如果類別包含純虛擬函式或繼承純虛擬函式,且不提供這些函式的實作,則為抽象類別。 純虛擬函式是以 pure-specifier (= 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;
};

請參閱

參考

衍生類別概觀