Compartilhar via


Herança (C++)

Esta seção explica como usar classes derivadas para gerar programas extensíveis.

Visão geral

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.

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

Os tópicos a seguir estão incluídos:

As palavras-chave __super e __interface estão documentadas nesta seção.

Confira também

Referência da linguagem C++