第4章 类与对象ppt课件.ppt

第4章 类与对象ppt课件.ppt

ID:58730365

大小:282.50 KB

页数:158页

时间:2020-10-04

第4章 类与对象ppt课件.ppt_第1页
第4章 类与对象ppt课件.ppt_第2页
第4章 类与对象ppt课件.ppt_第3页
第4章 类与对象ppt课件.ppt_第4页
第4章 类与对象ppt课件.ppt_第5页
资源描述:

《第4章 类与对象ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章类和对象4.1类的定义4.2数据成员4.3成员函数4.4对象4.5对象数据成员4.6static成员4.7自引用对象指针this4.8设计举例习题四4.1类的定义类是对具有相同数据和相同服务的一组相似对象的抽象,即类所包含的属性和服务描述了一组对象的共有的属性和服务,或者说,类是建立某个具体对象时使用的模型或模板。因此,类应该包括两个部分,即属性和服务。面向对象方法中信息具有隐藏性,即外部程序只能通过向某个对象发消息使用该对象提供的服务,不能修改该对象的属性数据和服务函数中的代码。根据类的这些性质,定义类的一般形式为:class类名{private:私用数据成员和成员函数

2、protected:保护数据成员和成员函数public:公用数据成员和成员函数};其中,类名是该类的标识,private、protected和public称为访问权限声明,在private后定义的数据成员和成员函数都是外部程序不可见的,称为私有(或私用)数据成员和成员函数;在public后定义的数据成员和成员函数都是外部程序可见的,称为公有(或公用)数据成员和成员函数;在protected后定义的数据成员和成员函数称为保护数据成员和成员函数,关于保护数据成员和成员函数我们将在讨论类的继承时再讨论。为叙述简洁起见,也经常把类的数据成员和成员函数简称为成员。在C++语言中,把面向对

3、象分析和设计中所说的属性称作数据成员,把服务称作成员函数。数据成员是用C++基本类型定义的变量或已定义类的实例化的对象,用于描述某个具体对象的属性;成员函数设计成函数形式,是某个具体对象与外部程序的接口,外部程序可通过向该对象发消息即调用某个成员函数,使用该对象提供的服务。一般情况下,应该将所有数据成员设计成私有的,将所有成员函数设计成公有的。例4.1线性表是软件设计中最基本和最常用的数据类型,线性表的主要特点是:(1)数据元素线性有序;(2)提供的最主要的服务是可以随机存一个数据元素和随机取一个数据元素。线性表是一个逻辑概念,用顺序存储结构(即使用数组)实现的线性表称作顺序表

4、。要求设计出浮点类型的顺序表类的定义。设计浮点类型的顺序表的类定义如下:classSeqList{private:floatdata[MaxSize];//float类型的有MaxSize个元素的数组//MaxSize根据具体问题要求在对象定义前确定intsize;//当前数据元素个数public://特殊的成员函数:构造函数和析构函数SeqList(void);//构造函数~SeqList(void);//析构函数//成员函数voidInsert(constfloat&item,constintpos);//在位置pos插入元素itemfloatDelete(constint

5、pos);//删除位置pos的元素并返回intListSize(void)const;//返回表元素的个数size{returnsize;}//内联函数方法定义函数体};对以上定义的顺序表类SeqList的设计说明如下:顺序表的个数应该根据实际问题确定,这里定义数组元素个数为MaxSize,MaxSize的具体数值在实际设计程序时确定。数据成员data[MaxSize]定义并申请了float类型的MaxSize个存储空间。数据成员size定义了顺序表的当前数据元素个数。数据成员data[MaxSize]和size定义为私有的;所有成员函数均定义为公有的,其中,SeqList()

6、和~SeqList()为特殊的成员函数,分别称作构造函数和析构函数。所有成员函数构成了该类对象提供给外部程序的接口。成员函数ListSize()用内联函数方法直接在类定义内定义了函数体,其它成员函数没有在类定义内给出内联函数方法的函数体定义,因此要在类外专门定义成员函数的具体实现代码。顺序表类SeqList的完整设计代码将在4.3.3节的例4.4给出。C++语言规定,类的private访问权限声明可以省略。换句话说,类的默认访问权限为private。把类class和3.2.4节讨论的C++的结构体struct相比可以发现,在C++语言中,类class和结构体struct非常类同

7、,惟一的差别是类的默认访问权限为private,结构体的默认访问权限为public。4.2数据成员类定义中的数据成员抽象了该类对象的属性。为了体现面向对象程序设计的信息隐藏性,数据成员通常均定义为私有的。数据成员可以用任何C++的基本数据类型、用户自定义的数据类型、C++的基本类类型或用户自定义的类类型定义。但是,数据成员的定义有如下两点限制。(1)数据成员的初始化是在具体对象创建时由构造函数完成的,数据成员不能在定义时初始化。例如,上述顺序表类的数据成员size不能在定义时初始化赋值:in

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

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

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