Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
las clases se pueden implementar para aplicar un protocolo.Estas clases se denominan “las clases abstractas” porque ningún objeto de tipo de clase pueden crearse.Sólo existen para la derivación.
Las clases son clases abstractas si contienen funciones virtuales puras o si heredan funciones virtuales puras y no proporcionan una implementación para ellos.Las funciones virtuales puras son funciones virtuales declaradas con el especificador puro (= 0), como sigue:
virtual char *Identify() = 0;
La clase base, Document, puede imponer el siguiente protocolo en todas las clases derivadas:
Una función adecuada de Identify debe implementar.
Una función adecuada de WhereIs debe implementar.
Especificando como protocolo al diseñar la clase de Document , el diseñador de clases puede asegurarse de que cualquier clase de no abstractas se puede implementar sin Identify y WhereIs funciona.La clase de Document , por consiguiente, contiene estas declaraciones:
// 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;
};