new(vtable의 새 슬롯)(C++ 구성 요소 확장)
new 키워드를 가상 멤버는 새로운 vtable 슬롯을에서 가져옴을 나타냅니다.
모든 런타임
(모든 런타임에 적용 없음이 언어 기능에 대 한 설명입니다.)
Windows 런타임
지원 안 함 Windows 런타임.
공용 언어 런타임
설명
에 /clr 컴파일, new 가상 멤버; vtable의 새 슬롯을 가져옴을 나타냅니다. 함수에서 기본 클래스 메서드를 재정의 하지 않음을.
newnewslot 한정자를 함수의 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