C++에서는 function의 override 를 위한 keyword가 virtual 밖에 없었다.
어찌보면 당연히 있어야 할 keyword가 그 동안 지원되지 않았던 것인데, 이제서야 지원되는 것으로 보여진다.
- override : 상위 class로부터 override 했음.
- final : 이 함수는 더이상 override를 금지함.
class Base
{
virtual void f1() {}
virtual void f2() final {}
};
class Derived : public Base
{
virtual void f1() override {}
virtual void f2(); // error. function declared as 'final' cannot be overridden by
};
|
댓글 없음:
댓글 쓰기