- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2005年3月 第八章 类与对象 本章主要内容 本章主要内容包括: 类和对象 类对象 构造函数和析构函数 类的初始化 复杂的对象表示 堆与拷贝构造函数 this指针 引言 类构成了实现C++面向对象程序设计的基础,在C++语言面向对象程序设计中占据着核心地位。 类把数据和作用在这些数据上的操作组合在一起,是封装的基本单元。 对象是类的实例,类定义了属于该类的所有对象的共同特性。 8.1 类和对象 对象(Object)是现实世界中的客观事物。 类是把具有相同属性的事物划分为一类,从而得出的抽象概念。 类是一组性质相同的对象的程序描述,它由概括了一组对象共同性质的数据和函数组成。 面向对象的程序设计中最基本的概念是对象,一般意义上的对象指的是一个实体的实例,在这个实体中包括了特定的数据和对这些数据进行操作的函数。 对象的核心概念就是通常所说的“封装性”(encapsulation)、“继承性”(inheritance)和“多态性”(polymorphism)。 8.1.1 类的定义 类是一种用户自定义的数据类型,它的一般定义格式如下: class 类名 { private: 私有数据成员和成员函数; protected: 保护数据成员和成员函数; public: 公有数据成员和成员函数; } 各个成员函数的实现; 8.1.1 类的定义(续) 类的成员包括数据成员和成员函数两部分。 类的成员从访问权限上分有以下三类: 1)公有的(public) 可以被程序中的任何代码访问 2)私有的(private) 只能被类本身的成员函数及友元类的成员函数访问;其他类的成员函数,包括其派生类的成员函数都不能访问它们; 3)保护的(protected) 说明为保护的成员与私有成员类似,只是除了类本身的成员函数和说明为友元类的成员函数可以访问保护成员外,该类的派生类的成员也可以访问。 其中:默认为private权限。 8.1.1 类的定义(续) 例8-1: include iostream.h class Sample { int x,y; public: Sample() {x=y=0;} Sample(int a,int b) {x=a;y=b;} Void disp() { cout”x=”x”,y=”yendl; } }; 8.1.2 类的成员函数 定义类的函数成员的格式如下: 返回类型 类名::成员函数名(参数说明) { ???? 函数体 } 类的成员函数对类的数据成员进行操作,成员函数的定义体可以在类的定义体中,如例8-2所示。 8.1.2 类的成员函数(续) 例8-2:类中的成员函数在类定义中直接描述示例。 class Location { public: ??? void init(int x,int y) ??? { ??????? X=x; ??????? Y=y; ??? } 8.1.2 类的成员函数(续) 类的成员函数也可以另外定义,而在类定义时 给出函数头。 例8-2的成员函数可说明如下: void Location::init(int x,int y) { ??? X=x; ??? Y=y; }//将x,y的值分别赋给X,Y int Location::GetX() { ??? return X; } 8.1.2 类的成员函数(续) 一个类的说明可分为定义性说明和引用性说明 两种,引用性说明仅说明类名。例如:class Location; 引用性说明不能用于说明类的变量,但可说明指 针,例如: class myClass{ ??? private: ??????? int i; ??? myclass member;//错 ??? myclass *pointer;//对 } 注意:在类定义体外定义成员函数时,需在函 数名前加上类域标记,因为类的成员变量和成员 函数属于所在的类域,在域内使用时,可直接使 用成员名字,而在域外使用时,需在成员名外加 上类对象的名称。 8.2 类对象 为了使用类,还必须说明类的对象。在定义类 时,系统是不会给类分配存储空间的,只有定义 类
您可能关注的文档
最近下载
- 中华人民共和国人民陪审员法全文最新解读课件.pptx VIP
- 新能源行业光储能微电网能量管理系统解决方案【50页PPT】.pptx VIP
- 电力系统分析理(第二版 刘天琪 邱晓燕)课后思考题答案(不包括计算).doc VIP
- 突发事件之车站大客流组织讲解.pptx VIP
- 护理三基考试题库7000题.pdf VIP
- 4 古代诗歌四首《次北固山下》 王湾 教学课件 初中语文统编版(2024)七年级上册 第一单元.pptx
- 电力系统分析理论-课后答案(刘天琪-邱晓燕-著)-科学出版社.pdf VIP
- 隧道工程-盾构施工技术(课件).ppt VIP
- 高速铁路隧道工程施工质量验收标准培训课件参考.ppt VIP
- 老虎岩生活垃圾填埋场沼气发电建设项目环境影响报告表.doc VIP
文档评论(0)