1.后缀不同
2.关键字不同
C语言: C99有32个关键字
C++ : C++98有63个关键字
3. C:面向过程
C++:基于面向对象
面向过程与面向对象的区别?
(1)面向过程
C语言 eat() ------>蛋炒饭(把所有要做的放在一起,无法做到饭与菜的分离,如果想改变菜会造成浪费)
举个例子:
开车走在C中这么想的,先分为几步:a.打开车门
b.关上车门
c.系上安全带
d.启动车辆
e.加速
(2)基于面向对象
C++:dog.eat ------->盖浇饭(做完菜,把菜浇上去,可以做到盖饭分离,可以直接换菜,减少浪费)
同样是开车走,在C++中这么想的,分为两个部分:
a.人. 可以开车
b.车. 有车门,有安全带,有引擎 ,有发动机,有油门,有刹车
4.函数不同
(1)返回值不同
C:FunTest---->默认返回int
C++: FunTest---->不能通过编译,如果一个函数没有返回值则必须指定为void。
(2)参数列表不同
C: void FunTest()---->传任意多个参数
C++: void FunTest()---->没有参数,这里会利用缺省值(在我另外一篇博客中会讲到)
(3)函数名字的修改
举个例子:void FunTest(int a)
C: _FunTestC++: [email protected]@[email protected]
参数列表也加入名字修改当中,支持函数重载。(在我另外一篇博客中会讲到)