菜鸟笔记
提升您的技术认知

C++ 与C语言的区别

阅读 : 56

C语言与C++的区别

以下是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++支持继承。