final

  • 修饰class,阻止该class再被继承

  • 修饰virtual method,阻止该method再被重写

override

  • 修饰virtual method,说明该method是重写的

    能够更好地使用编译器检查出错误,以免定义出新method,而不是重写,从而导致非预期行为

总结

这两个关键字,都是非必需,但是都很有用!可以让开发者更准确地表达,同时编译器可以在编译阶段就发现该错误!

参考

  1. http://en.cppreference.com/w/cpp/language/final
  2. http://en.cppreference.com/w/cpp/language/override

留言

2016-09-12