[讨论]用纯C怎么实现面像对象(oop), 见者有分


[讨论]用纯C如何实现面像对象(oop), 见者有分!
希望高手们谈谈想法.共同学习,共同进步.


C++/VC 程序开发 异常处理

puruspa 12 years, 9 months ago


<fieldset> <legend> 探讨 </legend>
既然想要实现面向对象,干嘛不用支持面向对象的语言?

就像去某个地方可以打飞的,你却要骑毛驴
</fieldset>


虎鹤双形钱赞企 answered 12 years, 9 months ago


既然想要实现面向对象,干嘛不用支持面向对象的语言?

就像去某个地方可以打飞的,你却要骑毛驴

天仙一叶冰 answered 12 years, 9 months ago


如果你想搞明白这个,你最好研究一下postgre的源码,基本上用c来模拟OOP的

zala小队长 answered 12 years, 9 months ago


STRUCT就可以做到,但不能继承
C++主要为了看着爽啊

...ll answered 12 years, 9 months ago


<fieldset> <legend> 探讨 </legend>
面向对象三大特征:
1. 封装 -----> struct,加上函数指针可以作为成员函数用
2. 继承 -----> 主要是高重用性,在C中可以采用struct组合的方式提高重用
3. 多态 -----> 自己可以维护一张虚函数表,管理函数指针
</fieldset>


HELLBOY answered 12 years, 9 months ago


呵呵,OOP不是C的强项,

本须和水鱼 answered 12 years, 9 months ago


其实很多成功的C软件就含有面向对象的思想。
本质上C是结构化,过程化语言。
真要像楼主说的那样,不如直接去用C++。硬做的话,得不偿失。
C标准委员会就曾拒绝了一个在C里加上简化版类的提案。
C就是C,不是C++。

拉达达达姆 answered 12 years, 9 months ago


顶一下,只能用struct了,但还是不能完全实现吧!

mos0054 answered 12 years, 9 months ago


研究下 BREW 平台~~~~

Moonkid answered 12 years, 9 months ago


支持这个帖子,看了一下,确实很不错,学习了。

<fieldset> <legend> 探讨 </legend>
这是我曾经发的帖子,里面的很多回复很有参考价值:
</fieldset>


Y杀必死Y answered 12 years, 9 months ago


面向对象三大特征:
1. 封装 -----> struct,加上函数指针可以作为成员函数用
2. 继承 -----> 主要是高重用性,在C中可以采用struct组合的方式提高重用
3. 多态 -----> 自己可以维护一张虚函数表,管理函数指针

icicle answered 12 years, 9 months ago




记得有这么一篇,当时还回了蛮多,发现就是老邓的帖子。,

CHiCO丶蕾 answered 12 years, 9 months ago


学习...

蔷薇黑十字 answered 12 years, 9 months ago

Your Answer