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 new
gö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ı