Was entspricht dem folgenden C# -Code in C++/CLI?C++/CLI: Wie deklariere ich abstrakte (in C#) Klasse und Methode in C++/CLI?
public abstract class SomeClass
{
public abstract String SomeMethod();
}
Was entspricht dem folgenden C# -Code in C++/CLI?C++/CLI: Wie deklariere ich abstrakte (in C#) Klasse und Methode in C++/CLI?
public abstract class SomeClass
{
public abstract String SomeMethod();
}
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;
};
Sie verwenden abstract
:
public ref class SomeClass abstract
{
public:
virtual System::String^ SomeMethod() = 0;
}
Gibt es einen Unterschied zwischen erklären „Somemethod() = 0“ und „Somemethod() abstrakt“? – Lopper
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 –
@Reed Copsey: Danke! – Lopper
Gibt es einen Unterschied zwischen der Deklaration von "SomeMethod() = 0" und "SomeMethod() abstract"? – Lopper
Nein = 0 ist C++ - Syntax, aber C++/CLI unterstützt es auch. –
@nobugz: Danke! – Lopper