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只能放在放在函数符()的后面,只能用来修饰虚函数,不能用来修饰普通的函数!
参考资料:
本文深入探讨了C++中final关键字的使用,包括如何用它来阻止类的继承,以及如何防止虚函数在子类中被重写。通过具体代码示例,详细解释了final关键字在类和函数级别的应用。
1486

被折叠的 条评论
为什么被折叠?



