Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classes abstratas (C++)

Classes abstratas atuam como expressões de conceitos gerais do qual podem ser derivados classes mais específicas. Não é possível criar um objeto de um tipo de classe abstrata; no entanto, é possível usar ponteiros e referências para tipos de classe abstrata.

Uma classe que contém pelo menos um de função virtual pura é considerada uma classe abstrata. Classes derivadas da classe abstrata devem implementar a função virtual pura ou, também, são classes abstratas.

Uma função virtual é declarada como "pura" usando o puro especificador sintaxe (descrito em Implementação do protocolo de classe). Considere o exemplo apresentado em Funções virtuais. A intenção da classe Account é fornecer a funcionalidade geral, mas os objetos do tipo Account são muito gerais para ser útil. Portanto, Account é um bom candidato para uma classe abstrata:

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

A única diferença entre essa declaração e anterior é que PrintBalance é declarada com o especificador puro (= 0).

Contribuições da comunidade

ADICIONAR
Mostrar: