class MyClass final
{
// ...
}
#include "MyClass.h"
Class OtherClass : public MyClass // Error !!
{
// ...
}
class MyClass
{
public:
vitual void GetValue(int value);
}
class ChildClass : public MyClass
{
public:
vitual void GetValue(int value) override; // Error !!
}
잘못된 함수 오버라이딩을 예방한다.
컴파일 도중 검사한다.
가상 함수가 아니면 쓸 수 없다.
class MyClass
{
public:
virtual void SetValue(int value);
}
#include "MyClass.h"
class ChildClass : public MyClass
{
public:
virtual void SetValue(float value) ;
// 실수로 없는 함수를 override 시도
// 새로운 함수가 생겨버림.
virtual void SetValue(float value) override;
// Error !! 실수 예방
virtual void SetValue(int value) override;
// Success !!
}