一:final 关键字
final 关键字表示一个类不可以再被继承,与Q_DECL_FINAL用法一致。
例如:
class A final : public B
{
public:
A();
void function() final; //这种写法是错误的,编译器会提示只有虚函数才能写成final
virtual void function2() final;//正确
}
//等价于
class A Q_DECL_FINAL : public B
{
public:
A();
void function() Q_DECL_FINAL; //错误
virtual void function2() Q_DECL_FINAL;//正确
}
二:override
override关键字用于重载一个虚函数,用法和Q_DECL_OVERRIDE类似。 如果重载的虚函数没有任何的重载操作,编译器会报错,使用如下:
void painEvent(QPainEvent* event) override;
//等同于
void painEvent(QPainEvent* event) Q_DECL_OVERRIDE;