2009-12-05 11 views

Antwort

15

einfach die Schlüsselwörter ein bisschen an der richtigen Syntax zu gelangen mischen. Abstrakt geht in C# in Front, aber am Ende in C++/CLI. Selbe wie die überschreiben Schlüsselwort, auch heute von C++ 11 zugelassene Compiler, die es bei der Ende der Funktionsdeklaration erwarten. Wie = 0 tut in der traditionellen C++ eine Funktion abstrakt markieren:

public ref class SomeClass abstract { 
public: 
    virtual String^ SomeMethod() abstract; 
}; 
+4

Gibt es einen Unterschied zwischen der Deklaration von "SomeMethod() = 0" und "SomeMethod() abstract"? – Lopper

+1

Nein = 0 ist C++ - Syntax, aber C++/CLI unterstützt es auch. –

+0

@nobugz: Danke! – Lopper

6

Sie verwenden abstract:

public ref class SomeClass abstract 
{ 
    public: 
     virtual System::String^ SomeMethod() = 0; 
} 
+0

Gibt es einen Unterschied zwischen erklären „Somemethod() = 0“ und „Somemethod() abstrakt“? – Lopper

+0

Nein. Die Methode() = 0 ist die Nicht-C++/CLI-Methode (nur Stnadard C++) zum Definieren einer abstrakten Klasse. Mit C++/CLI können Sie es oder das neue abstract-Schlüsselwort verwenden. Ich bevorzuge die Verwendung des Originals, da es sich nur um eine Gewohnheit handelt, und das Schlüsselwort abstract ist im Falle einer Methode kontextsensitiv, funktioniert aber entweder. Siehe: http://msdn.microsoft.com/en-us/library/b0z6b513(VS.80).aspx –

+0

@Reed Copsey: Danke! – Lopper

Verwandte Themen