Classi astratte (C++)
Le classi astratte fungono da espressioni dei concetti generali che le classi più specifiche possono essere derivate.Non è possibile creare un oggetto di un tipo di classe astratta, tuttavia, è possibile utilizzare i puntatori e i riferimenti ai tipi di classe astratta.
Una classe che contiene almeno una funzione virtuale pura viene considerata come una classe astratta.Le classi derivate dalla classe astratta devono implementare la funzione virtuale pure o, inoltre, sono classi astratte.
Una funzione virtuale viene dichiarata come “in„ tramite identificatore pure sintassi (descritta in Implementazione del protocollo della classe).Si consideri l'esempio illustrato nell'argomento funzioni virtuali.Lo scopo di classe Account viene fornita la funzionalità generale, ma gli oggetti di tipo Account troppo generico siano utili.di conseguenza, Account è un buon candidato per una classe astratta:
// deriv_AbstractClasses.cpp
// compile with: /LD
class Account {
public:
Account( double d ); // Constructor.
virtual double GetBalance(); // Obtain balance.
virtual void PrintBalance() = 0; // Pure virtual function.
private:
double _balance;
};
L'unica differenza tra la dichiarazione e quella precedente è quella PrintBalance viene dichiarato con l'identificatore pure (= 0).