new (neuer Slot in vtable) (C++/CLI und C++/CX)
Das new
Schlüsselwort 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