본문 바로가기
Study/C++

[C++] final 키워드

by 스테디코디스트 2023. 10. 18.
반응형

1. final

- 상속을 방지하는 키워드

- 더 이상 가상함수를 오버라이딩하지 않겠다는 의미

- 가상함수의 마지막을 가르키는 키워드

- 클래스와 멤버함수 둘 다 사용 가능

- override와 같은 자리에 쓰임

 

2. 예시

#include <iostream>

using namespacee std;

class A
{
public:
	virtual void print()
    {
    	cout << "A" << endl;
    }
};

class B : public A
{
public:
	void print() final
    {
    	cout << "B" << endl;
    }
};

class C : public B
{
public:
	virtual void print() // 에러 -> B에서 final로 상속을 끝냈기 때문
    {
    	cout << "C" << endl; 
    }
}