new(vtable의 새 슬롯)(C++/CLI 및 C++/CX)
new
키워드(keyword) 가상 멤버가 vtable에 새 슬롯을 가져올 것임을 나타냅니다.
모든 런타임
(이 언어 기능에는 모든 런타임에 적용되는 설명이 없습니다.)
Windows 런타임
Windows 런타임에서는 지원되지 않습니다.
공용 언어 런타임
설명
/clr
컴파일 new
에서 가상 멤버가 vtable에 새 슬롯을 가져옵니다. 함수가 기본 클래스 메서드를 재정의하지 않음을 나타냅니다.
new
는 newslot 한정자가 함수의 IL에 추가되도록 합니다. newslot에 대한 자세한 내용은 다음을 참조하세요.
요구 사항
컴파일러 옵션: /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
}
C::f() called
D::f() called
D::g() called
D::g() called
E::f() called
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기