当前位置:   article > 正文

C语言面向对象编程(二):继承详解_c语言 继承

c语言 继承

    在 C 语言面向对象编程(一)里说到继承,这里再详细说一下。

    C++ 中的继承,从派生类与基类的关系来看(出于对比 C 与 C++,只说公有继承):

  • 派生类内部可以直接使用基类的 public 、protected 成员(包括变量和函数)
  • 使用派生类的对象,可以像访问派生类自己的成员一样访问基类的成员
  •  对于被派生类覆盖的基类的非虚函数,在派生类中可以通过基类名和域作用符(::)来访问
  • 当使用基类指针调用虚函数时,会调用指针指向的实际对象实现的函数,如果该对象未重载该虚函数,则沿继承层次,逐级回溯,直到找到一个实现
    上面的几个特点,我们在 C 语言中能否全部实现呢?我觉得可以实现类似的特性,但在使用方法上会有些区别。后面我们一个一个来说,在此之前呢,先说继承的基本实现。

    先看 C 语言中通过“包含”模拟实现继承的简单代码框架:

  1. struct base{
  2. int a;
  3. };
  4. struct derived{
  5. struct base parent;
  6. int b;
  7. };
  8. struct derived_2{
  9. struct derived parent;
  10. int b;
  11. };

    上面的示例只有数据成员,函数成
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/43420
推荐阅读
相关标签
  

闽ICP备14008679号