Freigeben über


Abstrakte Klassen (C++)

Abstrakte Klassen fungieren als Konzepten von allgemeinen Begriffen auf, von der spezifischere Klassen abgeleitet werden können.Sie können ein Objekt eines Typs der abstrakten Klasse erstellen. Sie können jedoch Zeiger und Verweise auf Typen der abstrakten Klasse verwenden.

Eine Klasse, die mindestens eine rein virtuelle Funktion enthält, wird als eine abstrakte Klasse.Klassen, die von der abstrakten Klasse abgeleitet werden, müssen die rein virtuelle Funktion implementieren, oder sie können auch abstrakte Klassen.

Eine virtuelle Funktion wurde deklariert, z. B. „rein“ Spezifizierer Rein mithilfe der Syntax (beschrieben in Klassen-Protokoll-Implementierung).Betrachten Sie als Beispiel das in Virtuelle Funktionendargestellt.Der Zweck der Klasse Account ist, allgemeine Funktionalität bereitstellen, aber Objekte des Typs Account sind häufig nützlich sein.Daher ist Account ein guter Kandidat für eine abstrakte Klasse:

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

Der einzige Unterschied zwischen dieser Deklaration und dem vorherigen besteht darin, dass PrintBalance mit dem reinen Bezeichner (= 0) deklariert wird.

Siehe auch

Referenz

Abgeleitete Klassen