C语言面向对象编程(第2章):深入解析继承机制
发布时间
阅读量:
阅读量
在 C 语言面向对象编程(一) 中提及继承这一概念,此处将进一步展开说明。
从派生类与基类之间的关系角度出发(为便于与 C 语言进行对比,此处仅讨论公有继承):
- 派生类内部可以直接调用基类中定义的 public 和 protected 类型的成员(涵盖变量及函数)
- 当使用派生类的对象时,其对基类成员的访问方式与访问自身成员无异
- 若基类中的非虚函数被派生类所覆盖,则可在派生类中通过基类名称结合域作用符(::)来调用该函数
- 在使用基类指针调用虚函数时,系统将依据指针实际指向的对象来决定调用哪一个函数实现;若该对象未对该虚函数进行重载,则会沿着继承链向上查找,直至找到对应的实现
上述特性是否能够在 C 语言中完全实现?我认为可以模拟出类似的功能,但具体操作方式上存在差异。接下来我们将逐一探讨这些问题,在此之前先了解继承的基本实现方式。
首先来看 C 语言中通过“包含”机制模拟继承功能的一个基础代码结构:
struct base{
int a;
};
struct derived{
struct base parent;
int b;
};
struct derived_2{
全部评论 (0)
还没有任何评论哟~
