- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象的程序设计 综合应用 设计一个扑克牌猜牌游戏,每张扑克牌的牌面由花色(梅花Club、方块Diamond、红心Heart和黑桃Spade)和牌点(A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K)组成。 积分规则:每局玩家和庄家各发5张牌,玩家顺序猜测自己的牌与庄家对应牌的大小。猜中1次,积1分;猜错1次,不积分;1局中连续猜中3次,除正常积分外奖励1分;连续猜错3次,罚1分; 1局全部猜中,除正常积分外奖励3分;1局全部猜错,罚3分。玩家的最低积分为0,即不出现负分。 设计: 1.定义类 Card类和Counter类作为Poke类的基类; 2、定义成员函数 3、设计主函数 * C 程 序 设 计 | 第 九 章 * C 程 序 设 计 | 第 九 章 第十章 类和对象 定义类 创建和引用对象 类和对象的继承与派生 多态性 面向对象的程序设计方法 本讲主要内容 人们认识事物往往是从个别到一般进行归纳,再从一般到个别认知新事物。 现实生活中的任何事物都可以看作对象。人们总是把一个事物当作一个整体来对待,通过了解它的特性,把握它的操作方法或解决方法来掌握该事物。 通过对一些具体事物的把握来归纳出这些事物的共同特性和解决问题的方法,由此归纳出事物的共性,再通过分类、类比来认知更多的事物。 面向对象的思维 类是对象的抽象,是描述对象的模板;对象是类的具体实例,是一个个可操作的具体单元。若把建筑设计图纸看作“类”,则用该图纸设计的每一栋房子就是一个个具体的对象。 类与对象的关系跟结构体类型与结构体变量的关系十分相似。可以把“类”当作一种自定义的数据类型,把“对象”当作由该类定义的“变量”。 对象具有属性(变量)和方法(函数),因此类中需要对其属性和方法函数进行定义。 类和对象 class 类名 { private: 私有的数据和成员函数原型; protected: 受保护的数据和成员函数原型; public: 公有的数据和成员函数原型;} 私有的成员只能被本类中的成员和友元类成员访问;受保护的成员只能被本类及派生类成员访问;公用的成员可以被类的作用域范围中的所有成员函数及非成员函数访问。 定义类 创建对象: class 类名 对象名; 类名 *对象名; 类名 对象数组名[元素个数]; 创建了对象之后,编译系统会根据类的成员数据的类型为该对象分配存储空间。每个对象占用的存储空间是该对象的成员数据占用的存储空间的总和,因为同类的各个对象的成员函数代码是相同的,不同的仅仅是各个对象的成员数据,编译系统会根据类的定义将成员函数的代码放置在一段公用的存储空间中,各个对象都可以使用系统为它准备的“this”指针来访问它的成员函数。类仅仅是对象的模板,只说明该类对象的组成及可实现的操作,并不占用存储空间。 创建对象 与结构体变量的引用形式相同,引用对象成员的方法为: 对象名.成员名; 对象名.成员函数(实参表); 对象名-成员名; 对象数组名[下标表达式]. 成员名; 一般,对象的数据成员都为私有的或受保护的,它只能在访问限制范围中引用。同一对象的成员函数引用它的私有成员,可以直接用成员名访问。对于定义为public的数据成员,同样可以被非成员函数引用。 例10.2 引用对象 类和对象的继承性是指新建的类可以从现有的类派生出来,使新类不用重复定义就具有现有类的特性。一个类可以继承另一个类的属性和行为,被继承的类称为基类(Base class)或父类,继承的类称为派生类(Derived class)或子类。派生类可以修改和增加新的属性和行为,使之适应具体的需要。继承很好地解决了软件的可重用性问题,微软的基础类MFC就是通过类的继承来体现类代码的可重用性和可扩展性的。 继承与派生 单一继承指派生类由一个基类派生而来。比如在设计一个绘图软件时,根据几何特性可知,点是最基本的几何元素,由点构成线,由线围成面。可以先定义一个关于“点”的类,来描述点的坐标值和设置、获取坐标值的方法,其他几何元素中用到“点”,就可以由点的类派生出来,可以避免重复定义有关点的坐标和坐标值设置、获取的方法。 不论是公有派生还是私有派生,派生类的成员函数都可访问基类的公有成员和保护成员,但不可访问基类的私有成员。 例10.4 单一继承 多重继承指从多个基类派生出新的类,它继承了多个基类的成员。 例10.5 circle类由基类Bpoint和Bcircle派生出来,因此,circle类创建的对象继承了Bpoint类和Bcircle类的所有成员。并且,派生类中的成员函数可以引用基类中的公有成员以及受保护的成员,但不能引用基类的私有成员。
您可能关注的文档
- 社区概论 教学课件 作者 于显洋 著 第一章.绪论.ppt
- 社区工作 教学课件 作者 夏建中 著 第八章 社区照顾.ppt
- 社区工作 教学课件 作者 夏建中 著 第九章 社区服务.ppt
- 社区工作 教学课件 作者 夏建中 著 第六章 社会策划.ppt
- 社区工作 教学课件 作者 夏建中 著 第七章 社会行动.ppt
- 社区工作 教学课件 作者 夏建中 著 第十一章 社区组织.ppt
- 社区工作 教学课件 作者 夏建中 著 第十章 社区教育.ppt
- 社区工作 教学课件 作者 夏建中 著 第五章 社区发展.ppt
- 社区工作 教学课件 作者 夏建中 著 第一章 社区工作概述.ppt
- 社区管理 学课件 作者 汪大海 魏娜等 第11章非营利组织与社区发展.ppt
- 程控交换技术实用教程 (李正吉)第1章 概 述.ppt
- 程控交换技术实用教程 (李正吉)第2章 呼叫处理的基本原理.ppt
- 程控交换技术实用教程 (李正吉)第3章 程控交换机的交换网络.ppt
- 程控交换技术实用教程 (李正吉)第5章 电话网及信令.ppt
- 程控交换技术实用教程 (李正吉)第6章 程控交换机的工程.ppt
- 程控交换技术实用教程 (李正吉)第7章 现代通信与程控交换.ppt
- 程控交换技术实用教程 (李正吉)封面.ppt
- 程控数字交换技术 教学课件 作者 刘振霞 第1-6章第2章.ppt
- 程控数字交换技术 教学课件 作者 刘振霞 第1-6章第3章.ppt
- 程控数字交换技术 教学课件 作者 刘振霞 第1-6章第4章.ppt
文档评论(0)