페이지

2014년 12월 22일 월요일

override, final

override, final (Visual Studio 2012부터 사용 가능)

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
};



댓글 없음:

댓글 쓰기