Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
le classi possono essere implementate per applicare un protocollo.Queste classi sono chiamate “classi astratte„ perché nessun oggetto di tipo classe può essere creato.Esistono esclusivamente per la derivazione.
Le classi sono classi astratte se contengono funzioni virtuali pure o se ereditano le funzioni virtuali pure e forniscono un'implementazione per loro qualsiasi.le funzioni virtuali pure sono funzioni virtuali dichiarate con identificatore pure (= 0), come segue:
virtual char *Identify() = 0;
La classe base, Document, può imporre l'protocollo a tutte le classi derivate:
Un oggetto appropriato Identify la funzione deve essere implementata.
Un oggetto appropriato WhereIs la funzione deve essere implementata.
Specificando tale protocollo quando si progetta Document classe, progettazione classi può avere la certezza che nessuna classe non astratta può essere implementata senza Identify e WhereIs funzioni.Document la classe, pertanto, contiene le dichiarazioni:
// 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;
};