首先是回答c语言和c++的根本特性区别:c语言是面向过程的,而c++是面向对象的语言
一、两者的特点和各自的优缺点
1.面向过程与面向对象
面向过程可以理解为,将解决问题的步骤一步步分解,每一步都作为一个独立的实现,在运行时依次调用即可
面向对象则是将在这个问题中所涉及到的对象封装起来,每个对象在特定时间执行自己负责的功能,着重于描述某个事物在整个步骤中的行为
总结来说:
面向对象就是高度实物抽象化(功能划分)、面向过程就是自顶向下的编程(步骤划分)
2.二者优缺点
面向过程语言:
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
面向对象语言:
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低
二、具体语言区别
c和c++的具体区别有很多,这里整理一些自认为比较重要的区别以及可能的扩展问题
1.c和c++中的struct区别
为了兼容c, c++中也有struc