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).