Compartir a través de


Clases abstractas (C++)

Las clases abstractas actuar como expresiones de los conceptos generales de los que clases más concretas pueden derivar.No puede crear un objeto de un tipo de clase abstracta; sin embargo, puede utilizar punteros y referencias a los tipos de clase abstracta.

Una clase que contiene al menos una función virtual pura se considera una clase abstracta.Las clases derivadas de la clase abstracta deben implementar la función virtual pura o, también son clases abstractas.

Una función virtual se declara como “pura” mediante la sintaxis de especificador puro (descrita en aplicación de protocolo de la clase).Considere el ejemplo mostrado en funciones virtuales.El propósito de la clase Account es proporcionar funcionalidad general, pero los objetos de Account tipo son demasiado general ser útiles.Por consiguiente, Account es un buen candidato para una clase abstracta:

// 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 única diferencia entre esta declaración y la anterior es que PrintBalance está declarado con el especificador puro (= 0).

Vea también

Referencia

Clases derivadas