(1)面向过程语言和面向对象语言
C语言是面向过程语言,即先分析出解决问题的步骤然后再将这些步骤一一实现
C++是面向对象语言,即把问题分成若干个对象,目的是为了描述某个事物在解决整个问题的步骤中的行为
(2)关键字不同
C语言中有32个关键字,而C++有63个关键字。另外在C语言中struct关键字定义的变量不能有函数,而在C++中可以有函数
(3)文件后缀名不同
C语言中源文件的后缀名是.c,C++源文件后缀名是.cpp
(4)函数返回值不同
C语言中如果一个函数没有指定返回值类型,默认返回int类型;C++中如果一个函数没有返回值则必须指定为void
(5)函数重载
函数重载是函数的一种特殊情况,指在同一作用域中,声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数、类型、顺序)必须不同,返回值类型可以相同也可以不同,常用来处理实现功能类似数据类型不同的问题。
C语言中由于函数符号的规则是根据名称产生的,因此它不具备函数重载,而C++生成的函数符号则考虑了函数名,参数以及参数类型等
所以C++可以根据函数名参数个数参数类型来判断重载,属于静多态,必须同一作用域下才叫重载
(6)参数列表
在C语言中函数没有指定参数列表时,默认可以接收任意多个参数;但在C++中,因为严格的参数类型检测,没有参数列表的函数,默认为 void,不接收任何参数
总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。