Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das new-Schlüsselwort gibt an, dass ein virtueller Member ein neuer Slot im vtable abruft.
Alle Laufzeiten
(Es gibt keine Hinweise für diese Sprachfunktion, die auf allen Laufzeiten angewendet werden).
Windows Runtime
Unterstützt nicht in Windows-Runtime.
Common Language Runtime
Hinweise
In einer /clr Kompilierung new gibt an, dass ein virtueller Member ein neuer Slot im vtable abruft, dass die Funktion keine Basisklassenmethode überschreibt.
new wird der newslot Modifizierer, um IL für die Funktion hinzugefügt werden.Weitere Informationen zu newslot, finden Sie unter:
Anforderungen
Compileroption: /clr
Beispiele
Beispiel
Im folgenden Beispiel werden die Auswirkungen von new an.
// newslot.cpp
// compile with: /clr
ref class C {
public:
virtual void f() {
System::Console::WriteLine("C::f() called");
}
virtual void g() {
System::Console::WriteLine("C::g() called");
}
};
ref class D : public C {
public:
virtual void f() new {
System::Console::WriteLine("D::f() called");
}
virtual void g() override {
System::Console::WriteLine("D::g() called");
}
};
ref class E : public D {
public:
virtual void f() override {
System::Console::WriteLine("E::f() called");
}
};
int main() {
D^ d = gcnew D;
C^ c = gcnew D;
c->f(); // calls C::f
d->f(); // calls D::f
c->g(); // calls D::g
d->g(); // calls D::g
D ^ e = gcnew E;
e->f(); // calls E::f
}
Output
Siehe auch
Referenz
Überschreibungsspezifizierer (Komponentenerweiterungen für C++)