面向不同
C是面向过程的。
C++是面向对象的。
面向过程指的是将解决问题所需要的步骤,用函数逐一实现并依次调用,是一种模块化的思想。
面向对象指的是把构成问题的事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在整个解决问题的步骤中的行为。
例如:以汽车为例,汽车启动是一个事件,汽车到指定地点是一个事件,面对过程就是将事件写成代码,然后逐一调用。而汽车可以通过车钥匙被启动,是汽车这个物体的功能,汽车通过踩油门从而向前开,也是汽车的功能。面向对象就是将对象(汽车)的属性和行为写成代码,然后根据需要调用。
特性不同
C++具有封装、继承和多态三种特性。
而C没有。
类型转化不同
C可能会偷偷的将类型转化掉。
C增加了许多类型安全的功能,比如强制类型转换。
使用范围不同
C只是面向过程的结构化编程语言。
C++支持C-like,面向对象,泛型编程和STL。