VC2012已经支持final关键字了,fianl关键字可以用于以下两种情况:
1. 一个类或结构体比希望被继承。
class Base final
{
};
// 错误,Derive不能从Base派生。
class Derive
: public Base
{
};
2. 一个虚函数不希望被override。
class Base
{
public:
virtual void Fun() final
{}
};
class Derive
: public Base
{
public:
// 错误,不能覆盖基类的函数。
virtual void Fun() override
{ }
};