![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
c和c++区别是什么?
C是一个结构化语言,它的重点在于算法和数据结构;对于语言本身来说C是C++的一个子集。 C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C实现了C++中过程化控制及其他相关功能;而在C++中的C,相对于原来的C还有所加强,引入了重载、内联函数、异常处理等。而c++更是拓展了面向对象设计的内容,如类继承、虚函数、模板和包容器等。
C++是面向对象的,C是面向过程的这里要注意,C是面向过程化的,但是C++不是完全面向对象化的,他仍然可以写出类似C的程序,所以只能说C++是拥有面向对象化特性的,JAVA这种语言才是真正面向对象的!
支持数据封装和数据隐藏
在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。
在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类是如何工作的,只要知道如何使用它即可。
支持继承和重用
在C++现有类的基础上可以声明新类型,这就是继承和重用的思想。通过继承和重用可以更有效地组织程序结构,明确类间关系,并且充分利用已有的类来完成更复杂、深入的开发。新定义的类为子类,成为派生类。它可以从父类那里继承所有非私有的属性和方法,作为自己的成员。
支持多态性
采用多态性为每个类指定表现行为。多态性形成由父类和它们的子类组成的一个树型结构。在这个树中的每个子类可以接收一个或多个具有相同名字的消息。当一个消息被这个树中一个类的一个对象接收时,这个对象动态地决定给予子类对象的消息的某种用法。多态性的这一特性允许使用高级抽象。
继承性和多态性的组合,可以轻易地生成一系列虽然类似但独一无二的对象。由于继承性,这些对象共享许多相似的特征。由于多态性,一个对象可有独特的表现方式,而另一个对象有另一种表现方式。
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2024-08-21 广告
区别如下:
一、结构不同
1、C语言:C语言结构只有成员变量,而没成员方法。
2、C++:C++结构中可以有自己的成员变量和成员函数。
二、设计不同
1、C语言:C语言进行过程化、抽象化的通用程序设计。
2、C++:C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
三、函数库不同
1、C语言:C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中。
2、C++:C++对于大多数的函数都是有集成的很紧密,是一个集体。
C语言简介:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
语言的复杂度也更高,需要程序员有更强的抽象思维能力和编程能力才能够掌握。