final 지정자
사용할 수 있는 final 파생된 클래스에서 재정의할 수 없는 가상 함수를 지정 하는 키워드.또한 상속할 수 없는 클래스를 지정 하려면 사용할 수 있습니다.
function-declaration final;
class class-name final base-classes
설명
final상황에 맞는 이며 그 함수 선언 이후인 클래스 이름을 사용할 경우에 특별 한 의미가 있는. 그렇지 않은 경우는 예약 된 키워드가 아닙니다.
때 final 클래스 선언에 사용 된 base-classes 선언 선택적인 부분입니다.
예제
다음 예제는 final 키워드는 가상 함수를 재정의할 수 없음을 지정 합니다.
class BaseClass
{
virtual void func() final;
};
class DerivedClass: public BaseClass
{
virtual void func(); // compiler error: attempting to
// override a final function
};
멤버 함수를 재정의할 수 있음을 지정 하는 방법에 대 한 내용은 override 지정자.
다음 예제는 final 키워드를 지정 하는 클래스는 상속 될 수 없습니다.
class BaseClass final
{
};
class DerivedClass: public BaseClass // compiler error: BaseClass is
// marked as non-inheritable
{
};