- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
out ′¥′ d ′.′; int c = temp - d * 100; //c为amount的分值 if(c 10) out ′0′; //分值小于10时在十位上添0 out c; return out; } ? //主函数部分 void main(void) { Money g, h(plus, 3, 30), hg; g.Set(minus, 2, 25); hg = h + g; //h和g的值均不变 g += h; //g的值被改变 cout h + g = hg endl; cout g = g endl; } 程序运行输出: h + g = ¥1.05 g = ¥1.05 下面我们对C++类基本要素的分析讨论将以例1―4为实例。 1.3.1 类的存取权限 类的数据和成员函数的存取权限分为三种: 私有(private)、公有(public)和保护(protected)。 在private域中, 声明的数据和成员函数构成类的私有部分, 私有部分中的数据和成员函数只能由该类对象的成员函数, 以及被声明为友元的函数或声明为友元的类的对象的成员函数访问。 在public域中,一般仅声明类的成员函数(有些情况下,也在此域中声明类的数据)。在public域中,声明的类的数据和成员函数构成类的公有部分;公有部分中的数据和成员函数既允许该类对象的成员函数访问,也允许程序中其他函数或其他类的对象的成员函数访问。因此,一个类的公有部分就构成了这个类的操作界面。外部函数和别的对象通过操作界面对类中的对象进行操作。这就和基本数据类型中int类数据均通过加(+)、减(-)、乘(*)、除(/)等操作界面来对该数据类型中所有数据进行操作一样。 1.3.2 构造函数和析构函数 构造函数是一种特殊的成员函数。构造函数是用来在内存中建立类的具体对象(即在内存中为该对象分配适当的空间)并对其进行初始化赋值的成员函数。构造函数的名字必须和类的名字相同,构造函数没有返回值。构造函数允许参数有默认值,当构造函数有默认值时,若定义该类的对象时没有给出初始化值则按默认值处理。例1―4中对象h有初始化值(plus,3,30),对象g和hg没有初始化值,因此对象g和hg的初始化值为默认值(plus,0,0)。一个类允许有多个构造函数。当一个类有多个构造函数时,系统将根据定义对象时的参数类型和参数个数,选择恰当的构造函数来建立对象和对该对象进行初始化。 析构函数是一种当对象被取消时才被自动调用的特殊函数。当一个对象被取消时,析构函数提供了自动释放由构造函数在内存中建立的该类对象的内存区。析构函数的名字是在类的名字前面加上前缀“~”,析构函数没有返回值。由于在一般情况下建立的对象当被取消时,系统都能自动识别出所占用的相应的内存区,所以一般情况下析构函数的函数体为空。函数体为空的析构函数可省略。但当对象被取消时系统不能自动识别出所占用的内存区的类,析构函数的函数体就不能为空,此时析构函数就要负责释放对象所占用的内存区。每个类只能有一个析构函数。 1.3.3 操作符重载 当所设计类的某个成员函数功能和人们熟悉的某个有固定操作符的函数功能类同时,可以用该操作符替换该成员函数名,这称作操作符重载。操作符重载时,操作符前使用标识符operator。对用户来说,操作符重载使类的成员函数的调用更加方便。如例1-4中的加(+)和加等于(+=)成员函数通过操作符重载方便了用户的调用。也就是说,一个类成员函数的操作符重载就是用一个有固定含义的操作符定义和实现该类的相应成员函数。 当调用时该操作符可以看成是该操作符左边对象的成员函数。如例1―4中的g+=hg可看作是加等于(+=)成员函数的对象,h可看作是加等于(+=)成员函数的参数。操作符重载不仅可以更方便地实现相应成员函数的功能,重载的操作符还具有相应的运算优先级和满足结合律,这是类的成员函数所没有的功能。 成员函数的操作符重载时必须满足: (1)操作符必须满足运
您可能关注的文档
最近下载
- 2025年中国四氯化锆项目投资计划书.docx
- 天津城建大学信号与系统考研真题试题2018年.pdf VIP
- 冲压式蜂窝煤成型机机构机械原理 课程设计.doc VIP
- 人教版2024四年级上册英语 Unit 3 Places we live in A 第2课时 课件.pptx VIP
- 中式烹调师高级理论知识试题(职业技能鉴定国家题库).doc VIP
- 第七章溶胶凝胶法制备薄膜及涂层材料.ppt VIP
- (完整版)译林版七年级英语单词表(下)s.pdf VIP
- METS(医药类)第三级考试词汇表.doc VIP
- 2025年模拟赛车项目可行性研究报告.docx
- 2025年水平定向钻市场调查报告.docx
文档评论(0)