- 1、本文档共157页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 2 章 C++类 及其对象的封装性 本章主要内容 2.1 类的声明和对象定义 2.2 类的成员函数 2.3 对象成员的引用 2.4 类的封装性和信息隐蔽 2.5 构造函数和析构函数 2.6 对象指针 2.7 动态存储 2.1类的声明和对象定义 类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。 利用类可以实现数据的封装、隐藏、继承与派生。 利用类易于编写大型复杂程序,其模块化程度比C中采用函数更高。 2.1类的声明和对象定义 类是对象共性特征的抽象,对象的类型称为类,类是对象的模板,对象是类的具体实例; 先声明一个类,再定义对象,类是抽象的,不占用内存,对象是具体的,占用实际的存储空间; 可以看作是一种特殊的构造数据类型,是结构体的扩充形式; 类是数据和对这些数据进行操作的函数的封装体,是包括数据和函数的数据类型; 类的定义包括数据和函数的定义,类中的数据和函数都是类的成员; 在C++中,类用class来构造。 类的声明 //声明结构体类型 struct Student { int num; char name[20] ; char sex; }; //定义2个结构变量 Student stud1,stud2; 2.1类的声明和对象定义 上述类定义中未限定成员的访问属性,对象stud1的数据和函数都是private的,数据安全了。但外界不能调用stud1中的函数和功能,因为没有提供类的对外的接口,类有何用? 不能把类中的全部成员与外界隔离,一般将类中的数据隐藏起来,声明为私有的(private),把成员函数作为对外界的接口,声明为公有的(public)。 公有类型成员 在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。 私有类型成员 在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。 如果紧跟在类名称的后面声明私有成员,则关键字private可以省略。 保护类型 与private类似,其差别表现在继承与派生时对派生类的影响不同。 类的成员 class Clock { public: void SetTime(int NewH, int NewM, int NewS); void ShowTime(); private: int Hour, Minute, Second; }; void Clock :: SetTime(int NewH, int NewM, int NewS) { Hour=NewH; Minute=NewM; Second=NewS; } void Clock :: ShowTime() { coutHour:Minute:Second; } 数据成员 与一般的变量声明相同,但需要将它放在类的声明体中。 成员函数 在类中说明原形,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内置成员函数。 允许声明重载函数和带默认形参值的函数 类和结构体的异同 1、均为构造类型; 2、结构体用struct、类用class作为标识; 2、结构体中的成员只有数据成员,且访问权限默认为public的; 3、类的成员包括数据和函数,且访问权限可以设置为private、public和protected的; 4、结构没有实现数据封装,数据可以被任何外部函数访问。类实现了数据封装,可以将数据限定为只能被本身的成员函数访问。 定义对象的方法 1、先声明类类型,然后再定义对象: 如 Student stud1,stud2; 在声明类类型之后,定义对象有2种方法: class 类名 对象名; 如 class Student stud1,stud2; 类名 对象名; 如 Student stud1,stud2; 定义对象的方法 定义对象的方法 例2.1.2 定义一个日期类CDate,再创建一个生日对象。 class CDate { int year; int month; int day; public: void SetDate(int,int,int); void
您可能关注的文档
- 舞动青春放飞梦想五四青年节共青团团委团支部活动报告.ppt
- 基于android平台的电话软件模块设计.pdf
- 某某小学教学楼施工电梯卸料平台及防护门搭设方案(含完整计算书).pdf
- 九略中旅治理结构试点方案咨询报告..ppt
- 广州万科物业绿化养护手册.pdf
- 继电保护分析与应用 毕业论文.doc
- 景山小区边坡治理工程施工技术标书.doc
- 人教新起点一年级下册全册教案-unit 13 shapes[edudown].doc
- 跨国中重型卡车零部件公司中国发展战略.pdf
- 中式风格是以宫廷建筑为代表的中国古典建筑的室内装饰.doc
- 2024贵州中考物理二轮重点专题研究 微专题 电功率、焦耳定律的理解及简单计算(课件).pptx
- 2024甘肃中考数学二轮专题训练 题型三 函数的实际应用 (含答案).docx
- 2024成都中考语文备考文言文专题 孙权劝学(练习课件).pptx
- 2024海南中考物理二轮重点专题研究 第三讲 第二节 透镜及其应用(课件).pptx
- 2024甘肃中考数学二轮专题训练 几何综合探究动点问题 (含答案).docx
- 2024甘肃中考物理二轮专题复习 题型一 短文阅读题 (含答案).docx
- 2024河北地区物理中考备考重难专题:动态电路分析 (课后练习).docx
- 2024甘肃中考数学二轮专题训练 题型六 与特殊四边形有关的证明与计算(非动态) (含答案).docx
- 2024贵州中考历史二轮中考题型研究 中国古代史 秦汉时期:统一多民族国家的建立和巩固(课件).pptx
- 2024河南中考地理二轮复习 常考专题研究专题五、六 (课件).pptx
最近下载
- 纪律处分条例课件 2023 2024 新旧对照 党纪学习教育.pptx VIP
- Web前端开发实例教程PPT课件(共13章)第2章 编辑网页元素.pptx VIP
- 佳能TS3180说明书.pdf
- 建平中学历年自招考试数学真题汇编(共3套,部分有答案).pdf
- 浅谈板坯电磁搅拌系统的常见故障及维护经验.doc
- 图解人人讲安全、个个会应急—畅通生命通道2024安全生产月课件.ppt VIP
- 不再信访的承诺书.docx VIP
- 新建 OLED 微型显示芯片研发和生产项目(湖畔光电科技)环境影响报告.pdf
- 2024年中考英语热点阅读练习-董宇辉与直播带货(含解析).pdf VIP
- 最新版《中国共产党纪律处分条例》测试题及答案(共86题).docx VIP
文档评论(0)