final可以用来修饰类和修饰类的虚函数
final修饰类时
final修饰的类就不能再被继承了,断绝了后代。
class Huawei1 {
public:
Huawei1(){};
};
class Huawei2 final: public Huawei1 {
public:
Huawei2() {};
};
class Honor : public Huawei2 {
public:
Honor() {};
};
class Honor : public Huawei1 {
public:
Honor() {};
};
看上面的代码,我们知道之前的华为是荣耀的老总,我们定义为Huawei1,后面荣耀从华为独立出去了,我们定义此时的华为是Huawei2并且用final修饰,用final修饰就表示现在Huawei已经不能再被任何子类继承了,不论你是荣耀还是小米还是苹果,都不能继承。 但是Huawei1并没有做出final修饰,所以荣耀依旧可以和之前旧华为部门合作,但和huawei2已经没关系了,想去继承huawei2就会报错。
final修饰类的虚函数
需要注意的是final修饰函数时只能修饰虚函数,当虚函数被final修饰时这个方法在子类中就不能被重写了,但与修饰类时不同,这个方法依旧可以被子类继承和使用,就是不能重写
标签:c++,final,Huawei2,public,Huawei1,修饰,Honor From: https://blog.csdn.net/hxj_686/article/details/143507330