c语言面对对象编程
lsy563193
这个作者很懒,什么都没留下…
展开
-
C语言实现面向对象之继承性
面向对象有三个最为明显的特性:继承、封装、多态性。C++、java、C#等面向对象语言在语言层次上支持OOP,而OOP本身其实并不是专门为语言设计的。虽然C语言在语言层次上不支持面向对象,但是通过C语言也是可以实现OOP的特性的。下面就主要讲述通过C语言实现面向对象的三大特性之一:继承性。“继承”是面向对象中的一个概念,如果一个类A继承自另一个类B,就把这个类A称之为类B的子类,而B类则是转载 2013-10-11 12:36:06 · 872 阅读 · 0 评论 -
如何实现 C 的函数重载
大家都知道 C++ 等面向对象的语言支持函数重载,C++ 实现函数重载很大程度上依赖与编译器对函数名的 Mangling(损坏,破坏),即 C++ 的源代码被编译后同名的重载函数名字会被破坏,一般是在原函数名前后加上特定的字符串,以区分不同重载函数,然后在调用的时候根据参数的不同选择合适的函数,如下代码说明了编译器是如何处理普通函数重载的:#include using namespa转载 2013-10-19 15:29:21 · 1166 阅读 · 0 评论 -
C语言实现继承和多态
继承和多态是面向对象语言最强大的功能。有了继承和多态,我们可以完成代码重用。在C中有许多技巧可以实现多态。本文的目的就是演示一种简单和容易的技术,在C中应用继承和多态。通过创建一个VTable(virtual table)和在基类和派生类对象之间提供正确的访问,我们能在C中实现继承和多态。VTable能通过维护一张函数表指针表来实现。为了提供基类和派生类对象之间的访问,我们可以在基类中维护派生类的转载 2013-10-11 12:35:30 · 696 阅读 · 0 评论 -
c语言实现基类和继承(dog *cat)
c语言实现基类和继承,详见inherit.c上面一篇博客中写了《如何实现 C 的函数重载》,本文将进一步讲讲如何实现 C 语言的继承和多态,其实大致的思想已经在前面的一篇博客《200 行 C 代码实现插件式 NOSQL 存储服务器(一)》中体现过了,主要就是如何灵活运用C的函数指针这一特性!等等,C本身是不支持继承和多态的,那还煞费苦心实现 C 的继承和多态干嘛呢?其实转载 2013-10-11 12:34:18 · 2083 阅读 · 0 评论