Final:
在 C++11 及其后续版本中, final 关键字主要用于类的继承和虚函数的重写中,它有以下作用:
- 修饰类:当 final 用于修饰类时,表示该类是一个最终类,不能被其他类继承,这在某些情况下非常有用,比如当你想确保一个类的行为不会被修改时。
- 修饰虚函数:当 final 用于修饰虚函数时,表示该函数在派生类中不能被重写,这可以防止子类意外或故意地改变父类的行为。
Override:
在 C++中, override 关键字主要用于明确表示派生类中的函数是对基类中虚函数的重写。
使用 override 有以下好处:
1. 增强代码的可读性和可维护性,让其他人可以清晰地看到这个函数是对基类虚函数的重写。
2. 帮助编译器进行更严格的检查,如果声明为 override 的函数与基类中的虚函数签名不匹配,编译器会报错,从而避免一些潜在的错误。