Sdílet prostřednictvím


Abstraktní třídy (C++)

Abstraktní třídy působit jako výrazy obecné koncepty, ze kterých lze odvodit konkrétní třídy.Nelze vytvořit objekt typu abstraktní třídy; však můžete ukazatele a odkazy na abstraktní typy tříd.

Třída, která obsahuje alespoň jednu funkci čistého virtuální považuje abstraktní třídy.Třídy odvozené z abstraktní třída musí implementovat funkci čistého virtuální nebo, příliš, jsou abstraktní třídy.

Virtuální funkce je deklarována pomocí "čisté" čistého specifikátor syntaxe (popsané v Implementace protokolu třídy).V následujícím příkladu: Virtuální funkce.Záměr třídy Account je poskytnout Obecné funkce, ale objekty typu Account jsou příliš obecně užitečné.Proto Account je vhodná pro abstraktní třídy:

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

Jediný rozdíl mezi toto prohlášení a předchozí je PrintBalance je deklarována pomocí specifikátoru čistý (= 0).

Viz také

Referenční dokumentace

Odvozené třídy