[讨论] 用结构体就可以实现面向对象?那还要c++干吗?

秋水-剑圣   2010-8-27 15:43 楼主
来自EEWORLD合作群:49900581

回复评论 (12)

2推荐 敏捷 

我个人认为C和C++的本质区别不在于C是否能够完全去替代C++实现C++对对象的封装功能,而是通过C++的这种形式更加方便有效地去引导开发者从对象的角度去考虑架构。其实什么语言基本上都是可以互相实现的,难道可以说汇编可以实现C的所有功能,C就没有存在的价值了么?
点赞  2010-8-30 17:32
用C照样可以面向对象编程
点赞  2010-8-27 15:45
恩,是的
那么跟用C++的面向对象比起来有啥区别?
点赞  2010-8-27 15:45
更好实现呗,不用自己构建虚函数表,呵呵
最早的C++编译器就是一个叫cfront的程序,先将c++程序转换为c程序,再用c语言编译器编译
点赞  2010-8-27 15:45
看来C还是最经典
点赞  2010-8-27 15:45
oh my
点赞  2010-8-27 17:29
c++有很多现成的库和类封装好,具有良好的继承性。用起来比C方便,面向对象设计是高级语言的又一次进化吧。我也说不太好。学过c++ 才能知道他的优点,当然面向对象用Java也很好,很多人喷c++,但是Java得执行效率还是不如c++,虽然开发周期更短。c在目前嵌入式用的还是多。在应用程序开发里面,仅仅c的话,就成本很高了。
结构体和类是有区别的,具体的Google下吧!
点赞  2010-8-27 19:11

不一样吧

C中的结构体中不能有成员函数吧
而C++中的结构体中可以有成员函数,并且结构体和类是有区别的。
我爱MCU
点赞  2010-8-28 13:08
很多人问过我这样的问题了。
C++说白了就是养懒人,本来C可以实现的面向对象编程,C++进行了模板化,使得编码工作的负担更轻。
所以初学者一定要把C吃透,否则学C++,C#都是一知半解,知其然不知其所以然,很难在技术上上升到一定的高度。
点赞  2010-8-28 17:35

回复 8楼 haidong2732 的帖子

可以挂函数指针
点赞  2010-8-28 17:35
引用: haidong2732 发表于 2010-8-28 13:08
C中的结构体中不能有成员函数吧
而C++中的结构体中可以有成员函数,并且结构体和类是有区别的。

C中的结构里面可以放函数指针。然后给指针付个函数地址。这样就可以调用函数。类似。
点赞  2016-4-6 15:33
引用: 敏捷 发表于 2010-8-30 17:32
我个人认为C和C++的本质区别不在于C是否能够完全去替代C++实现C++对对象的封装功能,而是通过C++的这种形式 ...

点赞  2016-4-6 15:34
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复