Bagikan melalui


baru (slot baru dalam vtable) (C++/CLI dan C++/CX)

Kata new kunci menunjukkan bahwa anggota virtual akan mendapatkan slot baru di vtable.

Semua Runtime

(Tidak ada keterangan untuk fitur bahasa ini yang berlaku untuk semua runtime.)

Windows Runtime

Tidak didukung di Windows Runtime.

Runtime Bahasa Umum

Keterangan

/clr Dalam kompilasi, new menunjukkan bahwa anggota virtual akan mendapatkan slot baru di vtable; bahwa fungsi tidak mengambil alih metode kelas dasar.

new menyebabkan pengubah newslot ditambahkan ke IL untuk fungsi tersebut. Untuk informasi selengkapnya tentang newslot, lihat:

Persyaratan

Opsi pengkompilasi: /clr

Contoh

Sampel berikut menunjukkan efek .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

Baca juga

Ekstensi Komponen untuk .NET dan UWP
Mengesampingkan Penentu