以下是C和C++之间的区别:
- 定义
C是一种结构化编程语言,它不支持类和对象,而C++是一种支持类和对象概念的面向对象的编程语言。
- 编程语言的类型
C支持逐行检查代码的结构化编程语言,而C++是支持类和对象概念的面向对象编程语言。
- 语言的开发者
Dennis Ritchie在Bell实验室开发了C语言,而Bjarne Stroustrup在1980年左右的贝尔实验室开发了C++语言。
- 子集
C++是C编程语言的超集。 C++可以运行99%的C代码,但C语言不能运行C++代码。
- 方法类型
C遵循自上而下的方法,而C++遵循自下而上的方法。自上而下的方法将主要模块分解为任务。这些任务分为子任务,依此类推。自底向下方法首先开发较低级别的模块,然后再开发较低级别的模块。
- 安全性
在C中,由于C++是一种非常安全的语言,因此它不支持封装和信息隐藏,因此外部人可以轻松地操纵数据,即,没有外部人可以操纵它的数据支持封装和数据隐藏。在C语言中,函数和数据是自由实体,在C++语言中,所有函数和数据都以对象的形式封装。
- 函数重载
函数重载是一项功能,它使您可以拥有多个具有相同名称但参数不同的功能。 C不支持函数重载,而C++支持函数重载。
- 函数覆盖
函数覆盖是一项功能,为该功能提供了特定的实现,该功能已在基类中定义。 C不支持函数覆盖,而C++支持函数覆盖。
- 参考变量
C不支持参考变量,而C++支持参考变量。
- 关键字
C包含32个关键字,而C++支持52个关键字。
- 命名空间功能
命名空间是一种功能,它以某些特定名称将诸如类,对象和函数之类的实体分组。 C不包含名称空间功能,而C++支持避免名称冲突的名称空间功能。
- 异常处理
C不直接提供对异常处理的支持。它需要使用支持异常处理的功能。 C++通过使用try-catch块直接提供了对异常处理的支持。
- 输入/输出函数
在C中,scanf和printf函数分别用于输入和输出操作,而在C++中,cin和cout分别用于输入和输出操作。
- 内存分配和取消分配
C支持用于内存分配的calloc()和malloc()函数,以及用于内存分配的free()函数。 C++支持新的运算符用于内存分配,而delete运算符用于内存解除分配。
- 继承
继承是一项允许子类重用父类属性的功能。 C语言不支持继承,而C++支持继承。
- 头文件
C程序使用 <stdio.h> 头文件,而C++程序使用 <iostream.h> 头文件。
让我们以表格形式总结上述差异。
C | C++ |
C遵循过程样式编程。 | C++是多种范例。它同时支持程序和面向对象。 |
数据在C中的安全性较低。 | 在C++中,您可以为类成员使用修饰符,以使外部用户无法访问它。 |
C遵循自上而下的方法。 | C++遵循自下而上的方法。 |
C不支持函数重载。 | C++支持函数重载。 |
在C语言中,您不能在结构中使用函数。 | 在C++中,您可以在结构中使用函数。 |
C不支持参考变量。 | C++支持引用变量。 |
在C语言中, scanf()和printf()主要用于输入/输出。 | C++主要使用流 cin和cout 来执行输入和输出操作。 |
在C语言中无法进行操作符重载。 | 在C++中可能会出现运算符重载。 |
C程序分为程序和模块 | C++程序分为函数和类。 |
C不提供名称空间功能。 | C++支持名称空间的功能。 |
在C语言中异常处理不容易。它必须使用其他功能来执行。 | C++使用Try and Catch块提供异常处理。 |
C不支持继承。 | C++支持继承。 |