c++标识符
=default
当有其他构造函数时,编译器不会生成默认构造函数。我们需要自己声明一个默认构造函数,此时加上default,效率会更高
可用于以下情况:
- 默认构造函数
- 拷贝构造函数
- 拷贝赋值运算符
- 移动构造函数
- 移动赋值运算符
- 析构函数
=delete
加上后,后续调用该函数就会报错。可以用来禁止隐式转换以及拷贝赋值等
override
若基类中,子类加上override的函数不是虚函数或者子类没有重写或者基类没有该函数都会报错。
final
表示后续的子类不可以重写该虚函数。
重写虚函数时可以不加virtual,但是为了可读性,一般加。
=0
表示该函数为纯虚函数,
有纯虚函数的类为抽象类,不可以实例化。
若子类不实现,那么也不可以实例化