C中的面向对象模式?
可能重复:
你能用C编写面向对象的代码吗?
我正在用C语言编写一个大型应用程序并且听说过C ++程序员出现之前用于在C中实现“面向对象”模式。我的问题是这个模式通常的forms是什么? 以及如何在现代C应用程序中实现这样的OOP模式?
在C ++对象具有方法的情况下,对象样式“C”采用充满函数指针的结构。 与成员函数对应的函数具有显式数据参数,该参数取代隐含的“this”指针。
子类使用相同类型的函数指针结构,使用不同的函数指针来指示重写的方法。
以下是面向对象C指南的一些有用链接:
- 面向对象的C编程 – 一个非常彻底的主题处理。
- 菲尔的面向对象C指南 – 这是一个相当简单的方法,主题,imo。
- GObject参考手册 – GObject在Gnome和GTK +应用程序中大量使用(主要在Linux上),因此在现实世界中提供了面向对象C的完整示例。
我过去只是为结构和相关的“方法”采用命名约定。 每个方法都以候选对象的CANDIDATE_开头,并与typedef CANDIDATE {…}相关联,并且在Candidate.c文件中。
来自为C编写几个OO框架的人的另一个链接 。