클래스 프로토콜 구현

프로토콜을 적용하기 위해 클래스를 구현할 수 있습니다. 이러한 클래스는 이 클래스 형식의 개체가 생성될 수 없으므로 "추상 클래스"라고 합니다. 추상 클래스는 파생에만 존재합니다.

클래스는 순수 가상 함수를 포함하거나 순수 가상 함수를 상속하고 모두에 대해 구현을 제공하지 않는 경우 추상 클래스입니다. 순수 가상 함수는 다음과 같은 순수 지정자로 선언되는 가상 함수입니다(= 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;
};

참고 항목

참조

파생 클래스 개요