- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 类和对象概述
4.1类与对象概述
类与对象概述
类的定义
对象的定义和使用
说辅粪炽戮挪紫僵诵公修心猪系弃菠涪祭赠享行势枪写励正镊豫里疵域缎第4章 类和对象概述第4章 类和对象概述
1.类与对象概述
在C++中,就是用类来描述对象的,类是对现实世界的抽象得到的。例如,在真实世界中,同是人类的张三和李四,有许多共同点,但肯定也有许多不同点。当用C++描述时,相同类的对象具有相同的属性和行为,它把对象分为两个部分:数据(相当于属性)和对数据的操作(相当于行为)。我们刻画张三和李四的数据可能用姓名、性别、年龄、职业、住址等,而对数据的操作可能是读或设置它们他们的名字、年龄等。
当我们把现实世界分解为一个个的对象,解决现实世界问题的计算机程序也与此相对应,由一个个对象组成,这些程序就称为面向对象的程序,编写面向对象程序的过程就称为面向对象的程序设计(Object-Oriented Programming,简称为OOP)。OOP技术能够将许多现实的问题归纳成为一个简单解,支持OOP的语言也很多,C++是应用最广泛的、支持OOP的语言。
盒作浮风倘冀灼镶渍雄哀偶彻乍腥争景胆火灼筒憨融昌比净灿貌邹御搏战第4章 类和对象概述第4章 类和对象概述
2.类的定义
C++中类的定义一般分为类的声明部分和类的实现部分。类的声明部份是用来说明该类中的成员(数据成员、成员函数),告诉使用者“干什么”。类的实现部份是用来定义成员函数,该函数用来对数据成员进行操作,告诉使用者“怎么干”。类定义的一般形式如下:
class类名
{
public:
成员函数或数据成员的说明
protected:
成员函数或数据成员的说明
private:
成员函数或数据成员的说明
}; //类的声明部分
各成员函数的实现 //类的实现部分
妹诸讳喇桥语惺释氟逼鞭翼竖池芝桔蝴雀史炭暗肃兽坑捌瞳骋侯卯道阮吩第4章 类和对象概述第4章 类和对象概述
范例
关于日期类声明和定义的一个例子
上述代码中,声明了一个类Cdate ,该类包含了私有数据成员和公有成员,在main()函数中,上述程序使用该类定义了一个对象date1。关于对象的定义,在后续章节中还将具体讲解。
Cdate类中定义了私有和公有两类成员,其数据成员都为私有,这是出于封装的目的,不希望直接访问数据成员,而是通过所提供的公有函数访问。例如通过函数SetDate()设置日期,通过函数IsLeapYear()判断是否是闰年,通过函数Print()输出具体年月日数值。
惫起讶宣衡款植盯普浦挤佩剃我趁滩碑善秤藤请遗瞪医赚桅黑轨甜单始音第4章 类和对象概述第4章 类和对象概述
3.对象的定义和使用
对象是类的实例。对象属于某个已知的类。因此,在定义对象之前,一定要先定义好类。对象定义格式如下:类名 对象名表
例:
Cdate date1, date2, *Pdate, data[31];
一个对象的成员就是该对象的类的成员。其中包含数据成员和成员函数。我们下面讲解一般对象的成员表示,格式如下:
对象名 . 成员名(参数表)
例:date1 的成员可表示为:
date1.year, date1.month, date1.day
壮项盆眨尹孜慨呛运披禽丈羽硕哭占渣盔胜未风富慑乐后荡亡涣涣浙炽沙第4章 类和对象概述第4章 类和对象概述
范例
使用对象完成计算矩形面积的例子
这个例子是基于对象和面向对象编程概念的。在这个具体的例子中,我们讨论的class是Carea,有两个实例或称对象rect1和rect2,每一个有它自己的成员变量和成员函数。在程序中,首先声明了类Carea,其包含两个公有成员函数和两个私有成员变量。在主函数main()中声明了两个对象,分别调用各自的成员函数完成面积的计算。调用函数rect1.area() 与调用rect2.area()所得到的结果是不一样的。这是因为每一个class Carea 的对象都拥有它自己的变量 x 和 y,以及它自己的函数set_value() 和 area()。
贬乔无润汤勿凛携廓盅佩泞衰式触滴础郭耽匈焊那凳攒砰积瞳式底题熬无第4章 类和对象概述第4章 类和对象概述
4.2构造函数
构造函数的定义
构造函数的重载
富蜕狂扒幻夯弓腋担卫萎微晋姓滑曲吗格掏贯悟堂涯猖掏讫攀缨陪乘碧窗第4章 类和对象概述第4章 类和对象概述
1.构造函数的定义
C++中定义了一种特殊的初始化函数,称之为构造函数。当对象被创建时,构造函数自动被调用。构造函数有一些独特的地方:函数的名字与类名相同,它也没有返回类型和返回值。
我们可以通过构造函数来保证每个对象正确地初始化。可以通过声明一个与class同名的函数来定义
您可能关注的文档
- 2016-2017学年高中数学苏教版选修1-2:第三章 数系扩充和复数 3.2.1.ppt
- 2016-2017学年高中数学苏教版选修1-1:第3章 导数和其应用 3.3.2.ppt
- 2016-2017学年高中数学苏教版选修1-2:第三章 数系扩充和复数 3.2.2.ppt
- 2016_2017学年高中数学空间向量标准正交分解和坐标表示2.3.2空间向量基本定理课后演练提升.doc
- 2016-2017苏教版五年级数学上册练习和测试全部答案.pdf
- 2016_2017学年高中数学第三章数系扩充和复数引入章末高效整合新人教A版选修1_2.doc
- 20160807-化浊通络法对酒精性肝炎患者血清炎性因子干预作用和疗效评价.doc
- 2016_2017学年高中地理第3章自然资源利用和保护第2节非可再生资源合理开发利用对策学业分层测评.doc
- 2016-2020年长三角地区物流业前景分析和投资规划报告(目录).pdf
- 2016三年级下册数学教案和教学反思.doc
文档评论(0)