隐藏
指的是:子类继承父类属性(函数),并且自身也有与父类同名的属性(函数),这是编译器就会在子类中对父类属性做一个隐藏,我们并不能通过子类对象直接点出父类相关属性或函数,必须要在特定位置上加上父类作用域才可以。
覆盖
指的是:子类继承父类虚函数,并且对其重写,这时,我们用一个父类指针来接收子类对象地址。并通过这个父类指针来调用这个函数时,调用的就是子类重写后的函数了。这操作成为覆盖---子类重写后的函数地址将父类虚函数地址进行覆盖。不过这一切的一切都是通过函数指针(虚函数指针vfptr)来完成的。关于多态底层实现细节详细信息请见:
[] https://www.cnblogs.com/yuanshixiao/p/13986170.html
注意:
隐藏只要求的时父类子类有同名函数,所以也就是说,可以发生重载