new (neuer Slot in vtable) (C++/CLI und C++/CX)
Die new
Schlüsselwort (keyword) gibt an, dass ein virtuelles Mitglied einen neuen Steckplatz in der vtable erhält.
Alle Laufzeiten
(Es gibt keine Hinweise für diese Sprachfunktion, die für alle Laufzeiten gültig sind.)
Windows-Runtime
Wird nicht in Windows-Runtime unterstützt.
Übersicht: Common Language Runtime (CLR)
Hinweise
Gibt in einer /clr
Kompilierung an, new
dass ein virtuelles Element einen neuen Steckplatz in der vtable erhält; dass die Funktion keine Basisklassenmethode überschreibt.
new
bewirkt, dass der Newslot-Modifizierer der IL für die Funktion hinzugefügt wird. Weitere Informationen zu "newslot" finden Sie unter:
Anforderungen
Compileroption: /clr
Beispiele
Das folgende Beispiel zeigt den Effekt von new
.
// 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
}
C::f() called
D::f() called
D::g() called
D::g() called
E::f() called
Siehe auch
Komponentenerweiterungen für .NET und UWP
Überschreibungsspezifizierer
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für