1 C++中的final关键字
1.1 final关键字修饰类
用来修饰类,让该类不能被继承,理解:使得该类终结!
class XiaoMi {
public:
XiaoMi(){}
};
class XiaoMi2 final : public XiaoMi {
XiaoMi2(){}
};
class XiaoMi3 : public XiaoMi2 { //不能把XiaoMi2作为基类
};
final关键字只能放在类名的后面!
1.2 final关键字修饰虚函数
用来修饰类的虚函数,使得该虚函数在子类中,不能被重写,理解:使得该功能终结!
class XiaoMi {
public:
virtual void func() final;
};
void XiaoMi::func() { //不需要再写final
cout << "XiaoMi::func" << endl;
}
class XiaoMi2 : public XiaoMi {
public:
void func() {}; // 错误!不能重写func函数
};
final只能放在放在函数符()的后面,只能用来修饰虚函数,不能用来修饰普通的函数!
参考资料: