Héritage (C++)

Cette section explique comment utiliser les classes dérivées pour générer des programmes extensibles.

Vue d’ensemble

De nouvelles classes peuvent être dérivées de classes existantes à l’aide d’un mécanisme appelé « héritage » (consultez les informations commençant par l’héritage unique). Les classes utilisées pour la dérivation sont appelées classes de base d'une classe dérivée particulière. Une classe dérivée est déclarée en utilisant la syntaxe suivante :

class Derived : [virtual] [access-specifier] Base
{
   // member list
};
class Derived : [virtual] [access-specifier] Base1,
   [virtual] [access-specifier] Base2, . . .
{
   // member list
};

Après l’étiquette (nom) de la classe, un signe deux-points apparaît, suivi d’une liste de spécifications de base. Les classes de base ainsi nommées doivent avoir été déclarées précédemment. Les spécifications de base peuvent contenir un spécificateur d’accès, qui est l’un des mot clé s public, protected ou private. Ces spécificateurs d'accès apparaissent avant le nom de classe de base et s'appliquent uniquement à cette classe de base. Ces spécificateurs contrôlent l'autorisation de la classe dérivée à utiliser pour les membres de la classe de base. Pour plus d’informations sur l’accès aux membres de classe de base, consultez le contrôle d’accès aux membres de la classe de base. Si le spécificateur d’accès est omis, l’accès à cette base est considéré private. Les spécifications de base peuvent contenir la mot clé virtual pour indiquer l’héritage virtuel. Ce mot clé peut apparaître avant ou après le spécificateur d'accès, le cas échéant. Si l'héritage virtuel est utilisé, la classe de base est appelée classe de base virtuelle.

Plusieurs classes de base peuvent être spécifiées en les séparant par des virgules. Si une classe de base unique est spécifiée, le modèle d’héritage est un héritage unique. Si plusieurs classes de base sont spécifiées, le modèle d’héritage est appelé Héritage multiple.

Cet article contient les rubriques suivantes :

Les __super et les __interface mot clé sont documentés dans cette section.

Voir aussi

Informations de référence sur le langage C++