创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
c语言内容💖:
专栏:c语言之路重点知识整合
【c语言】全部知识点总结
目录
- 一、避免继承
- 二、避免重写
- final 关键字的优点
C++11 标准引入的新关键字:
final
一、避免继承
使用 final
修饰整个类,表示这个类不能被其他类继承
class CFather final{
// 类的成员和方法
//...
};
//error
class CSon : public CFather
{
};
例如:在单例模式中使用 final
关键字防止类被继承,严格控制实例化,保证了类不被进一步扩展
class Singleton final
{
private:
// 静态成员变量在类声明时就已经初始化
static Singleton* sin;
// 私有构造函数,确保外部无法直接创建实例
Singleton(){}
Singleton(const Singleton& single) = delete; // 使用delete替代私有构造函数
// 析构函数也设置为私有,但这在饿汉式单例中不是必需的,因为对象是在程序结束时自动销毁的
~Singleton(){}
public:
static Singleton* getSingle()
{
// 直接返回已经初始化的静态对象的地址
return sin;
}
void fun()
{
cout << "Singleton::fun()" << endl;
}
};
// 在类外初始化静态成员变量
Singleton* Singleton::sin = new Singleton();
二、避免重写
使用 final
修饰虚函数,代表该虚函数不能在子类中被重写
final
关键字放在函数名的后面
class CFather
{
public:
virtual void fun() final {}
};
// error
class CSon : public CFather
{
public:
void fun() override{}
};
final 关键字的优点
- 提高了代码的安全性
- 确保类的结构和行为的稳定性
大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |