- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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;
您可能关注的文档
- Apache PHP MySQL 的安装配置.doc
- Apache和Tomcat的整合方法.pdf
- Aperture Jitter Effects in Software Radio GNSS Receivers.pdf
- Appendix for “The Economic Value of Volatility Timing”.pdf
- APCERT亚太地区的应急合作经验 [杜跃进].pdf
- apache基于域名和端口的虚拟主机.doc
- API实现完美的图片出现效果.doc
- Applicational Perspectives of recent Developments in Dynamic Programming Methods for Herd M.pdf
- Applied Symbolic Dynamics.pdf
- applications of TimeDomain Numerical Electromagnetic Code to Lightning Surge Analysis.pdf
最近下载
- 《系统动力学》全套教学课件(共15章完整版).pptx
- 数学必修一导学案全册:必修一导学案与练习全册.pdf VIP
- [兴安盟]2024年内蒙古兴安盟盟直事业单位引进人才35人 笔试历年典型考题及考点剖析附答案详解.doc
- 律师业务档案卷宗封面格式——司律通字(1991)153号.docx
- 2024年新改版苏教版六年级下册科学全册知识点(精编版) .pdf
- YDT 2319-2020数据设备用网络机柜.pdf
- 2025年《可爱的中国》新疆地方教材(小学版)教案范文.docx VIP
- 《星巴克的中国市场营销策略分析的调查报告》3100字.pdf VIP
- 建筑工程技术毕业设计开题报告.docx VIP
- 施工图说明模板及样图-建筑.pdf VIP
文档评论(0)