Share via


__abstract

참고

이 항목에서는 버전 1의 Managed Extensions for C++만 적용 됩니다.버전 1 코드를 유지 하기 위해이 구문은 사용 해야 합니다.참조 하십시오 abstract (Visual C++) 새 구문에 해당 하는 기능을 사용 하는 방법에 대 한.

직접 인스턴스화할 수 없습니다. 관리 되는 클래스를 선언 합니다.

__abstract class-specifier
__abstract struct-specifier

설명

__abstract 키워드로 선언 된 대상 클래스는 다른 클래스의 기본 클래스로 사용할 수 있습니다. 적용 __abstract 클래스 또는 구조에 결과 __gc 클래스 또는 __gc 구조체 임을 의미 하지는 않습니다.

C + + 개념에서 다른는 추상 사용 하 여 클래스, 기본 클래스의 __abstract 키워드의 멤버 함수를 정의할 수 있습니다.

참고

__abstract 키워드와 함께 사용할 때 허용 되지 않습니다을 __value 또는 __sealed 키워드와 중복 시 사용의 __interface 키워드.

예제

다음 예제에서는 Derived 클래스는 추상 기본 클래스에서 파생 됩니다 (Base). 인스턴스화만 둘 다에 시도 되 고 Derived 성공 합니다.

// keyword__abstract.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>

__abstract __gc class Base {
   int BaseFunction() {
      return 0;
   }
};

__gc class Derived: public Base {};

int main() {
   Base* MyBase = new Base();   // C3622 can't BAse is abstract
   Derived* MyDerived = new Derived();
}