一、最直观的表述是
C语言是面向过程,C++是面向对象。但C++并非完全面向对象化,真正面向对象化的语言恐怕只有Java算得上。
二、两者最大的区别在于
他们用于解决问题的思想方法不一样。在C++相比于C,融入了设计这一概念,而就语言本身而言,在C中更多的是算法的概念。二者各有利弊,因此,无法断言C++优于C。
三、更进一步
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入进行运算处理得到输出。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 ”
四、其他区别
(1). 数据类型方面:C语言没有布尔类型。
(2). 返回值:
C中:如果函数未指定返回值类型,则默认为int
c++中:如果一个函数没有返回值,返回值类型必须指定为void
(3). 参数列表:
C中:如果函数没有指定参数列表,则默认可以接受任意多个参数
C++中:有严格的类型检测,没有参数列表的函数默认为void,不接受任意参数