网站大量收购独家精品文档,联系QQ:2885784924

c++模版 实验报告.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c模版实验报告

电 子 科 技 大 学 实 验 报 告 学生姓名:xxx 学 号:xxxxxxx指导教师:xxx 实验地点:xxx实验室 实验时间:xxxxxxx 一、实验室名称:软件实验室 二、实验项目名称:面向对象程序设计—泛型编程 三、实验学时:32 四、实验原理: 所谓泛型编程,就是以独立于任何特定类型的方式编写代码。这使得程序员在编写充分可重用代码时有了趁手的工具。 泛型其实是一种形式的静态多态,实现方式是类型参数化。一旦类型本身被参数化,那么我们就可以跃过类型限制带来的鸿沟,用一个类或者函数操纵多种类型不同的对象,并且不需要知道实现的细节。这无疑为代码的编写和维护带来的巨大的好处。 在C++中,泛型编程主要依托模板(template)来实现。例如: template typename T T abs(T a) { return a 0 ? a : -a; } 其中,T就是参数化的类型。编译器会根据提供的值类型来自动生成对应版本的函数。 除了函数模板,C++还提供了类模板,为泛型编程打下了坚实的基础。 五、实验目的: 本实验通过编,掌握,并能C/C++语言集成开发环境。 八、实验步骤: #ifndef __Quadrangle__ #define __Quadrangle__ #includeiostream #includestring using namespace std; class Quadrangle { public: string name; Quadrangle(string n=Quadrangles):name(n){}; ~Quadrangle(){}; virtual void draw()=0; virtual double area()=0; virtual string what()=0; }; #endif #ifndef __QuadrangleClasses__ #define __QuadrangleClasses__ #includeiostream #includestring #includeQuadrangle.h using namespace std; class Parallelogram:public Quadrangle { public: Parallelogram(string n=Parallelogram,double w=5,double h=7):Quadrangle(n),basesidelength(w),height(h){}; ~Parallelogram(){}; void draw(){cout what() : width = basesidelength , height = height endl;}; double area(){return basesidelength*height;}; string what(){return name;}; Parallelogram operator++(){++basesidelength,++height;return *this;}; Parallelogram operator++(int){Parallelogram temp(this-name,this-basesidelength,this-height);++basesidelength;++height;return temp;}; friend ostream operator(ostreamos,const Parallelogramp){osp.name: basesidelength=p.basesidelength,height=p.height;return os;}; private: double basesidelength, height; }; class Rectangle:public Parallelogram { public: Rectangle(string n=Rectangle,double w=4,double h=6):Parallelogram(n,w,h),width(w), height(h){}; ~Rectangle(){}; void draw(){cout what() : width = width , height = height endl;}; double area(){return width*height;}; string what(){return name;}; Rectangle operator++(){++width,++height;return *this;

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档