Compartilhar via


Visão geral de classes derivadas

Novas classes podem ser derivadas de classes existentes por meio de um mecanismo chamado "herança" (consulte as informações a partir de Herança única). As classes que são usadas para derivação são chamadas "classes base" de uma classe derivada específica. Uma classe derivada é declarada mediante a seguinte sintaxe:

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

Depois da marca (nome) da classe, aparecem dois-pontos seguidos por uma lista de especificações de base. As classes base nomeadas dessa forma devem ter sido declaradas anteriormente. As especificações de base podem conter um especificador de acesso, que é uma das palavras-chave public, protected ou private. Esses especificadores de acesso aparecem antes do nome da classe base e só se aplicam a essa classe base. Esses especificadores controlam a permissão da classe derivada para usar os membros da classe base. Consulte Controle de acesso a membros para obter informações sobre o acesso a membros de classes base. Se o especificador de acesso for omitido, o acesso a essa base será considerado private. As especificações de base podem conter a palavra-chave virtual para indicar uma herança virtual. Essa palavra-chave pode aparecer antes ou depois do especificador de acesso, se houver. Se for usada a herança virtual, a classe base será conhecida como uma classe base virtual. Para obter mais informações, consulte Classes base virtuais.

É possível especificar várias classes base, separadas por vírgulas. Se uma única classe base for especificada, o modelo de herança será Herança única. Se mais de uma classe base for especificada, o modelo de herança será chamado Herança múltipla.

Consulte também

Referência

Classes derivadas