new (vtable'da yeni yuva) (C++/CLI ve C++/CX)

new anahtar sözcüğü, sanal üyenin vtable'da yeni bir yuva edineceğini gösterir.

Tüm Çalışma Zamanları

(Bu dil özelliği için tüm çalışma zamanları için geçerli olan hiçbir açıklama yoktur.)

Windows Çalışma Zamanı

Windows Çalışma Zamanı desteklenmez.

Ortak Dil Çalışma Zamanı

Açıklamalar

Derlemede /clr , new sanal üyenin vtable'da yeni bir yuva edineceğini; işlevin bir temel sınıf yöntemini geçersiz kılmadığını gösterir.

new işlevi için newslot değiştiricisinin IL'ye eklenmesine neden olur. Newslot hakkında daha fazla bilgi için bkz:

Gereksinimler

Derleyici seçeneği: /clr

Örnekler

Aşağıdaki örnek, etkisini newgösterir.

// 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

Ayrıca bkz.

.NET ve UWP İçin Bileşen Uzantıları
Geçersiz Kılma Tanımlayıcıları