Sdílet prostřednictvím


__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();
}