다음을 통해 공유


new(vtable의 새 슬롯)(C++ 구성 요소 확장)

new 키워드는 vtable에서 새 슬롯을 얻을 수 있는 가상 멤버를 가리킵니다.

참고

new 키워드는 자주 의미를 지니고 사용됩니다.자세한 내용은 new명확화 항목을 참조하세요.

모든 런타임

(모든 런타임에 적용되는 이 언어 기능에 대한 설명이 없습니다.)

Windows 런타임(Windows Runtime)

Windows 런타임에서는 지원되지 않습니다.

공용 언어 런타임

설명

/clr 컴파일에서, new 는 vtable에서 새 슬롯을 얻을 수 있는 가상 멤버를 가리킵니다; 함수는 기본 클래스 메서드를 재정의 하지 않습니다.

new는 함수의 IL에 추가 될 새 슬롯 한정자를 사용합니다. 새 슬롯에 대한 자세한 내용은 다음을 참조하십시오:

요구 사항

컴파일러 옵션: /clr

예제

예제

다음 샘플에서는 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
}

Output

  
  
  
  
  

참고 항목

참조

Override 지정자(C++ 구성 요소 확장)

개념

런타임 플랫폼의 구성 요소 확장