zoukankan      html  css  js  c++  java
  • C++覆盖和隐藏

    C++ 覆盖 与 隐藏

    隐藏

    指的是:子类继承父类属性(函数),并且自身也有与父类同名的属性(函数),这是编译器就会在子类中对父类属性做一个隐藏,我们并不能通过子类对象直接点出父类相关属性或函数,必须要在特定位置上加上父类作用域才可以。

    覆盖

    指的是:子类继承父类虚函数,并且对其重写,这时,我们用一个父类指针来接收子类对象地址。并通过这个父类指针来调用这个函数时,调用的就是子类重写后的函数了。这操作成为覆盖---子类重写后的函数地址将父类虚函数地址进行覆盖。不过这一切的一切都是通过函数指针(虚函数指针vfptr)来完成的。关于多态底层实现细节详细信息请见:

    注意:

    • 隐藏只要求的时父类子类有同名函数,所以也就是说,可以发生重载

    • 覆盖中父类子类都是对同一函数,这个函数时一摸一样的,参数列表,返回值,函数名......

  • 相关阅读:
    继续学习AJAX
    最近在看AJAX
    selenium学习模拟键盘按键操作
    二十三。克隆
    二十五。继承
    十八。类的属性
    二十一。第四章综合例题
    二十四。继承
    十七。对JAVA中堆和栈的细致了解
    十六。方法调用以及传参
  • 原文地址:https://www.cnblogs.com/yuanshixiao/p/13986248.html
Copyright © 2011-2022 走看看