就是面向过程与面向对象的区别。总体来说就是解决问题的思路不同,对于一个问题,面向过程的思路是把这个问题进行过程步骤的划分,第一步做什么,第二步做什么,所有步骤全部完成,这个问题就解决。而面向对象的思路就是把这个问题进行细分成各个小问题,分别来描述这个对象。
网上有个人有个比较简单易懂的例子,面向过程就是炒饭,面向对象就是盖浇饭。客人要吃饭,说了要那些菜,按照面向过程的思维,就是把菜炒了,放盐,放佐料,然后放米饭,然后混合均匀,一盘炒饭出锅。按照面向对象的思维,把客人要吃的各种菜还有饭分别建立对象,把这些菜还有饭分别弄好,然后在一个盘子里,把这些东西分别摆好。
最根本的区别是 C是面向过程的开发语言,C++是面向对象的开发语言,由此很多语言特性就不同啦。
C++很多语言特性能方便实现的东西,C要实现就比较麻烦,而C能实现的C++都能实现(因为C++是C的超集)。
1、C++是从C语言拓展来的,C++比C对了很多不一样的内容,更多的关键字,增加了类的使用等等
2、C++虽然包含了基本上所有C,但是只是基本上,C++还是舍弃了C的一些内容,比如无参函数,不允许同名函数,静态数组等等
3、C和C++都是做系统底层的语言,但是C是过程,C++是对象,这个编程思路就不一样,打个比方,设计一个下棋游戏,C是按照你下棋的流程来进行代码逻辑的,但是C++是把你下棋所以进行的步骤都封装好,然后你引用来完成下棋。
C++支持重载,而C语言不能支持,这个是最本质的区别,所以C++编译器可以编译C语言程序而C编译器不能支持C++
至于应用场合,C++偏向面向对象,C语言偏向面向过程