C++课程设计3.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课程设计3

面 向 对 象 编 程 技 术 课程设计实验报告 专业:网络工程 班级:网113 学号: 姓名: 2012 12 设计时间: 年 月 (1)应用程序名称:水果生产工厂 (2)应用程序主体:应用程序里有一个抽象的水果基类(Fruit)和抽象的工厂基类(Factory)。 而各种具体的水果公有继承了水果基类,如Apple,Banana,而具体工厂(ConcreteFactory) 公有继承了工厂基类,用于实例化各种水果派生类。另外,该程序包括基本的选择界面。 设计目的:为了把类的实例化延迟到子类,由客户决定究竟实例化哪一个类。 (3)应用程序简介: 功能介绍: 本程序会有一个选择界面,来供客户选择生产哪种水果。并且向客户展示以后如何 调用该水果对象。 并且本程序通过Singleton 模式保证只实例化唯一一个水果生产工厂。 基本内容: 本程序有如下几个水果类:Apple,Banana,Pear,Peach,Strawberry,这些都是Fruit 的 公有派生类。每个水果类的show()函数里面都会输出属于自己水果的一句话。如Apple 会输出:An apple a day keepsthe doctor away。每种水果都有自己的颜色,含水量,含 糖量。而水果工厂通过Fruit*CreateFruit(int choice)函数来实例化各种水果类。 主要技术: Factory 模式、Singleton 模式 因为Factory 是抽象基类,而该抽象基类内有纯虚函数Fruit*CreateFruit(int choice), 并且由该基类派生出了一个水果工厂 (ConcreteFactory),该水果工厂给出了Fruit* CreateFruit(int choice) 的实现方式,即实例化各种水果类。并且基类里由static Factory*Instance();和staticFactory*_instance;来实现Sinleton模式来保证只实例化一个水 果生产工厂。所以可以用Factory *fac new ConcreteFactory();定义一个指针,申请一段 内存空间,为以后调用 Fruit*CreateFruit(int choice)做准备。 当客户选择好生产哪一种水果时,如客户选择苹果,苹果用1表示。既可以用这句 话来实例化一个苹果类:Fruit *A fac-CreateFruit(1);,这样就把类的实例化推迟到子 类了。虽然指针是Fruit 型,但通过把基类的相关函数设为虚函数,即可通过该指针访 问派生类的相关函数。我的程序是以show()函数为例。这即为多态性。 运行环境: VC6.0 主要运行界面: 总体设计结构图 Factory Fruit -_instance:Factory* -color[20]:char -water:double +abstratCreateFruit():Factory* -sweet:double static+Instance():Factory*

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档