设计思想上:
C++是面向对象的语言,而C是面向过程的结构化编程语言。
语法上:
C++具有封装、继承和多态三大特性。
C++相比较C,增加了许多类型安全的功能,比如强制类型转换、智能指针。
C++支持泛型编程,比如模板类、函数模板等。
函数参数列表:
在C语言中,函数没有指定参数列表时,默认可以接收任意多个参数;
在C语言中不支持缺省参数;
在C++中因为严格的参数类型检测,没有参数列表的函数,默认为void,不再接收任何参数
函数返回值:
在C语言中,如果一个函数没有指定返回值类型,默认返回int类型;
在C++中,如果一个函数没有返回值则必须指定为void;
作用域:
C语言中作用域有:局部、全局。
C++中则有:局部作用域、类作用域、名称空间作用域。
C++对C的增强,主要表现在六个方面:
- 类型检查更为严格
- 增加了面向对象的机制
- 增加了泛型编程的机制
- 增加了异常处理
- 增加了运算符重载
- 增加了标准模板库(STL)