Partager via


Classes abstraites (C++)

Les classes abstraites agissent comme des expressions des concepts généraux dont les classes plus spécifiques peuvent être dérivées.vous ne pouvez pas créer un objet d'un type de classe abstraite ; toutefois, vous pouvez utiliser des pointeurs et des références aux types de classe abstraite.

Une classe qui contient au moins une fonction virtuelle pure est considérée comme une classe abstraite.Les classes dérivées de la classe abstraite doivent implémenter la fonction virtuelle pure ou elles, et, sont des classes abstraites.

Une fonction virtuelle est déclarée comme « pure » en utilisant la syntaxe de spécificateur (décrite dans Implémentation de fournisseur de classe).considérez l'exemple présenté dans fonctions virtuelles.L'objectif de la classe Account est de fournir une fonctionnalité générale, mais les objets du type Account sont trop généraux pour être utiles.par conséquent, Account est un bon candidat pour une classe abstraite :

// 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;
};

La seule différence entre cette déclaration et la précédente est qu' PrintBalance est déclaré avec le spécificateur pure (= 0).

Voir aussi

Référence

Classes dérivées