프로그래밍 언어/C++

C++ 클래스 상속 불가 및 함수 오버라이딩 불가 (final)

ShovelingLife 2022. 7. 21. 11:46

최종 키워드를 사용하여  상속할 수 없는 클래스를 지정하거나 파생 클래스에서 재정의할 수 없는 가상 함수를 지정할 수 있다.

다음 예제에서는 최종 키워드를 사용하여 클래스를 상속받을 수 없도록 지정한다.

class Parent final
{

};

class Derived : public Parent
{

};

다음 예제에서는 최종 키워드를 사용하여 가상 함수를 오버라이딩 할 수 없도록 지정한다.

class Parent
{
public:
    virtual void Print() final
    {

    }

    virtual void Print2()
    {

    }
};

class Derived : public Parent
{
public:
    virtual void Print() override
    {

    }

    virtual void Print2() override
    {

    }
};