new (neuer Slot in vtable) (Komponentenerweiterungen für C++)

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:

86hbff6c.collapse_all(de-de,VS.110).gifAnforderungen

Compileroption: /clr

86hbff6c.collapse_all(de-de,VS.110).gifBeispiele

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++)

Konzepte

Komponentenerweiterungen für Laufzeitplattformen