- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模板的概念是仅在C语言的高版本中才引进的模板(temp...
* 第三章 模 板 模板的概念是仅在C++语言的高版本中才引进的。模板(template)是一 种参数化的类型,在有模板概念之前,C++语言的程序员热衷于涉及“类属类” (Genericdass),其目标是为了实现程序代码的可重用性,通过“类属编程”使得同一结构的不同实例共用同样的代码,这样的类属数据结构包括:栈,队列,数组,矩阵,链表,二叉树,散列表和图等等。这项工作的意义是明显的,这样的类库应用很广,可以节省代码,易于维护;当然,类属类的编程也十分繁琐。 C++(高版本)的模板支持类屑编程,大大简化了类屑数据结构的编程工作。熟练地使用模扳概念,是高级的c++程序员的必要条件之一。 类模板是一种带参类,或说是具有共性的一组类。模板增加了以类为特征的程序模块的通用性。 例如,集合、矩阵,链表都可以设计成类。但是如果采用模板的形式,则编程的效率更高。例如,集合类,根据集合类元素的不同类型,如int型,char型,float型,pomt型,complex型等等,可以是系统类型,也可以是用户定义类型。总之对于每一种元素类型,可以定义一个集合类。利用模板的形式,以类型为参数,可以定义一个 集合(set)模板,每指定一种类型作为“实参”,这个模板就成为一个特定的集合类。 函数模板也有类似的特征。 模板说明 C++支持两类的模板,它们分别是类模板与函数模板。下面就分别对这两类模板进行讨论。 3. 1 类模板说明 类模板的说明就是一个带有类型参数的类定义,其格式为; template棋板参数表class类模板名 {类模板定义体}, 说明: template:关键字,指明本说明为类模板说明或函数模板说明。 摸板参数表;用尖括号 括起来,其量简单的形式是class T,T为类参数名。 class:关键字class指出定义的是类模板. 类模板名;标识符。 类模板定义体:它实际上是一个类的定义,在定义中,以类参数T(标识符)作为某一类或类型名。例如: templateclass Yclass Set{ T elems[maxcard]; int card; public: Set( ){card=O}; …… //其他成员函数说明 }; 下面是与类模板有关的几个问题: (1)类模板的实例化。 类模板不能直接生成对象,因为其类型参数是不确定的,故须首先对模板参数指定“实参”,实例化的形式为; 类模板名具体类型 例如: Setint Setfloat Setchar 这实际上给出了三个具体的集合类。 Setintsl,s2; 即是说明了两个整型集合的对象sl,s2。 由此可以看出,每个类模板的实例就是一个具体的类,由类模板 的实例可以说明或创建该类的对象。 也可以用由用户定义的类类型来进行实例化.例如,我们已经定义了类complex,类point,于是可以用complex和point作为“实参”来对于类模板Set进行实例化: Set(complex) Set(point) 这两个集合类的元素是复数——类complex的对象,点——类point的对象。 (2)类模板定义中的函数成员可以是内联的(在类内定义),也可以在类外定义,其书写格式为: template(class Tint setT::memberT elem{ for(int i=0;icard;i++) if(elems[i]==elem) return l; return 0; }; (3)类模板也可以继承。可分为下面几种情况说明: ①一般类作基类,派生出类模板。例如: class CB{ int i; char c;
您可能关注的文档
- 新课改中的数学课件制作初探.doc
- 新课程背景下对以校为本的教师研训的思考与实践.doc
- 新课程背景下,我们能做些什么?.ppt
- 新闻与传播学院摄影协会简介.doc
- 新竹市曲溪数位学习中心介绍.ppt
- 新闻素材之二.doc
- 方形预应力板开方形洞口.pdf
- 方形和正方形周长的计.doc
- 方定宇方定宇方定宇方定宇.pdf
- 方晶的心理健康全员培训作业.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
最近下载
- 成套简历几何简约个人简历word简历模板.pdf VIP
- (新统编版)语文六年级上册 第三单元 大单元教学设计.docx
- 《盘扣制作》-精选·课件.ppt
- BP85224DA参考设计_ 5V200mA buck/正电压/晶丰明源家电电源.pdf
- 食管裂孔疝诊断治疗指南.doc
- BP85256D参考设计_12V300mA 晶丰明源家电电源.pdf
- 现代服务业劳动(教案) 六年级上册劳动鲁科版.pdf
- 2021年XX市委党校组工干部培训班学习心得体会.doc VIP
- 天津市第二十五中学2024-2025学年高三上学期第一次月考物理试卷.docx VIP
- 中国LNG加气站行业市场现状及发展前景分析-预计2025年市场保有量将超7700座.docx
文档评论(0)