__abstract
Publikováno: duben 2016
Poznámka
Toto téma se týká pouze verze 1 spravovaných rozšíření jazyka C++. Tato syntaxe by měla sloužit pouze k udržování kódu verze 1. Viz abstract (C++ Component Extensions) informace o použití ekvivalentní funkce v nové syntaxi.
Deklaruje spravované třídy, která nelze přímo vytvořit instanci.
Syntaxe
__abstract
class-specifier
__abstract
struct-specifier
Poznámky
__abstract Klíčové slovo deklaruje, že cílové třídy, lze použít pouze jako základní třída jiné třídy. Použití __abstract třídu nebo strukturu neznamená, že je výsledek __gc třídu nebo strukturu __gc.
Je odlišný od pojem C++ abstraktní základní třída, třída s __abstract klíčové slovo můžete definovat její členské funkce.
Poznámka
__abstract Klíčové slovo není povoleno, pokud se používá s __value nebo __sealed klíčové slovo a redundantní, kdy použít s __interface klíčové slovo.
Příklad
V následujícím příkladu Derived třídy je odvozen z abstraktní základní třídu (Base). Vytvoření instance poté k pokusu o obou, ale jen Derived je úspěšné.
// keyword__abstract.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
__abstract __gc class Base {
int BaseFunction() {
return 0;
}
};
__gc class Derived: public Base {};
int main() {
Base* MyBase = new Base(); // C3622 can't BAse is abstract
Derived* MyDerived = new Derived();
}