admin管理员组

文章数量:1531695

2024年5月31日发(作者:)

C++和 C的区别

一、面向对象程序设计

面向对象程序设计就是通过数据抽象,将许多实例中共性的数据和为操作这些数据所

需要的算法抽取出来,并进行封装和数据隐藏,形成一个新的数据类型——“类”类型。

例如:链表是一种常用的数据类型,利用它可以实现数据的存储。我们可以把链表这种存

储结构以及对链表的插入和删除等操作封装成一个类,这样使用链表时,可以先构造出一

个链表对象,对它的操作,就转化为调用其方法实现。从表面上看,类只是一个新的数据

类型,其操作也不复杂。但面向对象程序设计的关键在于如何进行数据的抽象和封装,以

及对处理数据的过程的设计。这需要不断在实践中进行摸索才能深刻领会和熟练掌握。

面向对象程序设计的最大优点是允许“继承”,即在某个类的基础上可以派生出新类。

目前的面向对象程序设计开发工具都提供了大量的类,用户可以直接使用这些类,或通过

对这些类的扩充和重用形成新的类。

与其他数据类型一样,只有类型对应的变量才是实际操作的对象。而类的变量我们称

为“对象”。对“对象”的操作就是利用对象进行程序设计,也就是面向对象程序设计。

二、C++与C语言的区别

C++语言是在C语言的基础上进行了大量的扩充和改进而得到的。它继承了C语言的

全部内容,并在C语言的基础之上增加了面向对象编程的内容,C++既支持面向过程的程

序设计,又支持新型的面向对象程序设计。C++并不是一种新的语言,也不是纯粹的面向

对象程序设计语言,因此学过C语言的人只要了解了C++与C语言的区别,很快就可进

入到C++的面向对象程序设计部分。

C++与C语言的关系如下:

1.C++保持了与C语言的兼容

这种兼容性表现在许多C代码的程序不经修改就可为C++所用。用C语言编写的许

多库函数和应用软件也都可以用于C++。

但是,这种兼容性使得C++不是一个纯正的面向对象程序设计语言。因为C语言是面

向过程的语言,C++要与C语言兼容,所以C++也要支持面向过程的程序设计。由于面

向过程程序设计和面向对象程序设计是两种不同风格的程序设计技术,对于已经习惯于面

向过程程序设计的人员可能会有一定的障碍;相反,没有学过程序设计的人员不会受面向

过程程序设计方面的约束,更利于掌握面向对象程序设计技术。

2、C++对C语言作了很多改进

C++在保持了语言的简洁、高效和接近汇编语言等优点的同时,又对语言的不足和问

题作了很多改进。下面列出一些重要改进之处。

(1)增加了一些新的运算符,使得C++应用起来更加方便。例如:::,new,delete,.*,

->.等。

(2)改进了类型系统,增加了安全性,C语言种类型转换很不严格。C++规定类型转

换多采用强制转换。又规定函数的说明必须用原型。对缺省类型作了限制。

本文标签: 程序设计C语言进行面向对象