C++11新特性——1.4-1.5 final和override
- 1.4 final
原文:https://subingwen.cn/cpp/final/
- 总结:
1. final 限制某个类不能被继承,或限制某个虚函数不能被重写
2. final 修饰 虚函数 或者 类
3. final 关键字写到 虚函数 或 类 后面
class Base
{
public:
virtual void test()
{
cout << "Base class...";
}
};
class Child : public Base
{
public:
void test() final // ★★★
{
cout << "Child class...";
}
};
class GrandChild final: public Child // ★★★
{
public:
// 语法错误, 不允许重写
//void test()
//{
// cout << "GrandChild class...";
//}
};
- 1.5 override
原文:https://subingwen.cn/cpp/final/
- 多态发生的三个条件
1. 有继承关系
2. 子类重写父类虚函数
3. 父类指针或引用指向子类对象
override 保证重写虚函数名字的正确性;和final一样,override 要写到方法后面
(〃>_<;〃)(〃>_<;〃)(〃>_<;〃)
分类:
C++11
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律