由来: C++对函数重写的要求比较严格,但是有些情况下由于疏忽,可能会导致函数名字母次序 写反而无法构成重载,而这种错误在编译期间是不会报出的,只有在程序运行时没有得到预期结果才来 debug会得不偿失,因此:C++11提供了override和final两个关键字,可以帮助用户检测是否重写。 final: 修饰虚函数,表示该虚函数不能再被继承 class Car { public: virtual void Drive() final { } };