Поделиться через


Реализация протокола класса

Классы могут реализовывать для принудительного протокол.Эти классы называются "абстрактными классами", поскольку отсутствует объект типа класса могут быть созданы.Они существуют исключительно для вывода.

Классы абстрактные классы, если они содержат чисто виртуальные функции или если они наследуют чисто виртуальные функции и не приводится реализация их все.Чистые виртуальные функции виртуальные функции, объявленные с чисто-описатель (= 0) следующим образом:

virtual char *Identify() = 0;

Базовый класс Document, может наложить следующий протокол во всех производных классах.

  • Соответствующее Identify функции должен быть реализован.

  • Соответствующее WhereIs функции должен быть реализован.

При указании такого протокол проектирование Document класс конструктор класса может быть конечно, класс nonabstract можно реализовать пределами 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;
};

См. также

Ссылки

Общие сведения о производных классов