C语言谭浩强教材配套版第15章

C语言谭浩强教材配套版第15章

ID:40841730

大小:309.46 KB

页数:61页

时间:2019-08-08

C语言谭浩强教材配套版第15章_第1页
C语言谭浩强教材配套版第15章_第2页
C语言谭浩强教材配套版第15章_第3页
C语言谭浩强教材配套版第15章_第4页
C语言谭浩强教材配套版第15章_第5页
资源描述:

《C语言谭浩强教材配套版第15章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、15.1 概述15.2 类和对象15.3 构造函数和析构函数15.4 继承与派生第15章C++的面向对象基础15.1概述C++不仅扩充了C面向过程的功能,而且增加了面向对象的功能,这就使C++成为能适应面向对象程序设计的现代大型语言。C++不是简单地对C做了某些改进,而是在C成功的基础上进行了一场革命。赋予C以新的生命力。客观世界中任何一个事物都可以看成一个对象。或者说,客观世界是由千千万万个对象组成的,它们之间通过一定的渠道相互联系,如图15.1示意。在实际生活中,人们往往在一个对象中进行活动,或者说对象是进行活动的基本单位。作为对象,它应该至少有两

2、个要素:一是从事活动的主体;二是活动的内容。要进行活动,或者是事先安排好一个活动计划,或者由外界临时通知。图15.1图15.2从计算机的角度看,一个对象应该包括两个要素:一是数据;二是需要进行的操作。对象就是一个包含数据以及与这些数据有关的操作的集合。图15.2表示一个对象是由数据和操作代码组成的。传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。所有的数据都是公用的,一个函数可以使用任意一组数据,而一组数据又能被多个函数所使用(见图15.3)。程序设计者必须考虑每一个细节,什么时候对什么数据进行操作。当程序规模较大、数据很多、操作种类繁

3、多时,程序设计者往往感到难以应付。图15.3面向对象程序设计采用新的思路。它面对的是一个个对象。所有的数据分别属于不同的对象。实际上,每一组数据都是有特定的用途的,是某种操作的对象。把相关的数据和操作放在一起,形成一个整体,与外界相对分隔。面向对象程序设计方法的一个重要特点就是“封装性”,把数据和操作代码封装在一个对象中。程序设计者的任务包括两个方面:一是设计对象,即决定把哪些数据和操作封装在一起;二是在此基础上怎样通知有关对象完成所需的任务。这时他如同一个总调度,不断地向各个对象发出命令,让这些对象活动起来,完成自己范围内的操作。各个对象的操作完成了

4、,整体任务也就完成了。显然,对一个大型任务来说,面向对象程序设计方法将是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机会。15.2类和对象每一个实体都是对象。有一些对象是具有相同的结构和特性的。在C++中对象的类型称为“类”(class)。类代表了某一批对象的共性和特征。可以说:类是对象的抽象,而对象是类的具体实例。正如同结构体类型和结构体变量的关系一样,人们先声明一个结构体类型,然后用它去定义结构体变量。同一个结构体类型可以定义出多个不同的结构体变量。在C++中也是先声明一个“类”类型,然后用它去定义若干个同类型的对象。对象就是一个“类”

5、类型的变量。类是用来定义对象的一种抽象数据类型,或者说它是产生对象的模板。它的性质和其他数据类型(如整型、实型、枚举类型、结构体类型)相同。在一开始时弄清对象和类的关系是十分重要的。C++对C的改进,最重要的就是增加了“类”这样一种数据类型。所以C++开始时被称为“带类的C”。所有面向对象的语言都提供了这种数据类型。在C++中怎样声明一个“类”类型呢?其方法和声明一个结构体类型是相似的。下面是我们已熟悉的声明一个结构体类型:structstudent{intnum;charname[10];charsex;};structstudentstudent1

6、,student2;上面声明了一个名为student的结构体类型并定义了两个结构体变量student1和student2。可以看到它只包括数据(变量),没有包括操作。如果希望对结构体变量中各成员赋值或输出它们的值,需要另外编写有关的操作语句。结构体变量中各成员在本作用域中都是“敞开”的,大家都可以用,而且不受任何限制。这就造成程序的不安全。现在我们声明一个类:classstud//以class开头{intnum;charname[10];charsex;//以上3行是数据成员voiddisplay()//这是成员函数{cout<<"num:"<

7、<

8、外界隐蔽,外界不能调用它们。只有本类中的函数display可以调用同一类中的数据。在本类中没有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。