共用方式為


類別通訊協定的實作

可以實作類別,來強制執行通訊協定。 這些類別稱為 「 抽象類別",因為可不建立類別型別的任何物件。 它們存在於僅供衍生。

類別是抽象類別,如果它們包含純虛擬函式,或如果他們繼承純虛擬函式,並為它們全體不提供實作。 純虛擬函式都是以宣告的虛擬函式純規範 (= 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;
};

請參閱

參考

在衍生類別概觀