第19章 类模板
第19章需求工程中的项目管理PPT课件

识别
控制
管理、交流
分析
跟踪
计划
15
5. 需求风险管理 ——驱动因素
类别 需求复杂性
需求稳定性
风险驱动因素
应对策略
示例
类别
示例
系统的规模比较复杂 系统的环境比较复杂 涉及的技术比较复杂
形式化建模技术,例如KAOS 需求建模技术 建模方法学,例如UML
需求获取技术 面谈、原型、观察等等
16
结束语
当你尽了自己的最大努力时,失败也是伟大的, 所以不要放弃,坚持就是正确的。
When You Do Your Best, Failure Is Great, So Don'T Give Up, Stick To The End
17
谢谢大家
荣幸这一路,与你同行
不利于用户 的有效参与
需求 设计 代码 测试
需求开发 需求管理
集成
运行与维护
7
3. 生命周期规划
软件的问题域比较复杂,但是业务非常成熟而且需求比 较稳定
不利于用户的有效参与
需求开发
需求管理
需求
发布1 设计
实现
发布2 设计
测试 实现
集成 运行与维护
测试
集成 运行与维护
发布3 设计 发布4
实现 设计
1. 需求工程中的项目管理 2. 资源支持 3. 生命周期规划 4. 团队管理 5. 需求风险管理
4
2. 资源支持
一定数量技能良好的可用人员;
可行的时间限制和充足的资金支持;
可用的系统运行环境、软件工具、道具、文档模版、可复用资源等其
电大药理学形考任务三(14-19章)-范本模板

任务三:试题库11。
对不能耐受ACEI的高血压患者,可替换的药物是A。
硝苯地平B. 氯沙坦C. 哌唑嗪D。
氢氯噻嗪E。
普萘洛尔2。
硝苯地平的降压作用机制是A。
抑制β受体B. 抑制ACEC。
抑制钙通道D. 抑制血管紧张素II受体E. 抑制α受体3。
治疗高血压不合理的两药合用是A. 氯沙坦+氢氯噻嗪B。
β阻滞剂和ACEIC。
二氢吡啶类钙拮抗剂和β阻滞剂D。
二氢吡啶类钙拮抗剂和血管紧张素受体拮抗剂E。
氢氯噻嗪+呋塞米4. 卡托普利和氢氯噻嗪分别为A. 血管扩张药和α受体拮抗药B。
血管扩张药和β受体拮抗药C. 血管紧张素受体拮抗剂和利尿剂D。
ACEI和利尿剂E。
利尿药和ACEI5. 对伴有心衰的高血压尤为适用的是A. 血管扩张药B. β受体拮抗药C。
ACEID. 利尿剂E。
血管紧张素受体拮抗剂6. 氢氯噻嗪可单用治疗A。
重度高血压B。
单高收缩压型高血压C。
轻度高血压D。
中度高血压E。
不可单用7。
氯沙坦的降压机制是A. 断了血管紧张素的缩血管和释放醛固酮作用B。
断了β受体的心脏兴奋作用C。
断了α受体的缩血管作用D。
断了血管紧张素的缩血管作用E。
断了醛固酮释放作用8. 普萘洛尔更适用于A. 伴有心绞痛及脑血管病的高血压患者B. 伴有心衰的高血压患者C. 伴有血脂紊乱的高血压患者D。
伴有高血糖的高血压患者E。
伴有肾病的高血压患者9. 高血压孕妇或先兆子痫患者适用的肾上腺素受体拮抗药是A。
硝苯地平B. 拉贝洛尔C。
哌唑嗪D。
氢氯噻嗪E。
普萘洛尔10. 高血压患者联合用药的原则不包括A。
合用药物的副作用最好相互抵消或少于单用B. 几种不同降压机制药物联用C. 需服用方便,疗效持续24 小时以上D. 血压降得更低E. 有利于改善靶器官损伤11. 卡维地洛治疗心衰的机制是A。
心肌β受体拮抗, 血管α受体拮抗, 肾脏β受体拮抗B。
心肌β受体拮抗, 血管α受体拮抗,血管紧张素受体拮抗C. 血管α受体拮抗,肾脏β受体拮抗 ACE活性抑制D。
大学物理学(下册)(第二版)(李承祖主编)PPT模板

3
费衍射光栅光谱和光
栅分辨本领
第四部分振动波动电磁波和波动光学
第21章波动光学(ⅲ)
21.1光的偏振 态偏振光的获 得
21.4偏振光的 干涉
21.2双折射现 象
*21.5人工双 折射
21.3偏振棱镜 波片圆和椭圆 偏振光的产生 和检验
问题和习题
04
o
n
e
第五部分相对论物理学中的对称性
第五部分相 对论物理学 中的对称性
01
o
n
e
前言
前言
02
o
n
e
第一版前言
第一版前言
03
o
n
e
第四部分振动波动电磁波和波动光学
第四部分振动波动 电磁波和波动光学
06
第21章波动 光学(ⅲ)
01
第16章振动
05
第20章波动 光学(ⅱ)
02
第17章机械 波
04
第19章波动 光学(ⅰ)
03
第18章电磁 波
第四部分振动波动电磁波和波动光学
01 1 7 .1 机 械波的产生 02 1 7 .2 平 面简谐波
和传播
03 1 7 .3 机 械波的能量 04 1 7 .4 惠 更斯原理波
密度和能流
的衍射、反射和折射
05 1 7 .5 波 的相干叠加 06 1 7 .6 多 普勒效应
驻波
第四部分振动波动电磁波和波动光学
第17章机械波
问题和习题
25.1对称性的概念 和描写方法
01
05
02
25.2时空 对称性和物 理量、物理 规律、物理 相互作用
04
03
*25.4动力学对称性
19《船过三峡》_模板

19《船过三峡》_模板一、教学目标1.学会8个生字;理解10个新词语的意思。
2.有感情地朗读课文,感受长江三峡的风光美;背诵课文第2、3、4自然段。
3.能仿照课文句子,写几句赞美一个地方的话。
二、教学重点、难点:了解长江三峡的特点,学习作者通过见闻表现事物特点的写法。
第1课时(一)教学目标初步感知课文内容,开展自主学习。
(二)教学过程1、激发兴趣、导入(1)、(教师放歌曲《三峡美》)同学们,在课前先请大家听一首非常好听的歌曲,请大家闭上眼睛仔细听,感受一下,看看你的眼前会出现什么?(2)、学生汇报(会出现蓝天白云、青山碧水等)(3)、师:(出示图片)这就是美丽的长江三峡,今天老师就带着同学们跟随作者的小船,一同去游览三峡。
(板书:28船过三峡)2、初读课文,感知内容(1)、自由读文,读准字音(2)、指名读,思考:作者游三峡里看到了什么?听到了什么?(3)、学生汇报(看到三峡的山奇、水急和船险,听到传说)(4)、师小结并板书3、自主学习,精读感悟(1)、师:三峡的风光举世闻名,哪部分内容给你留下的印象最深?为什么?生自由发言。
(2)、下面就选择你印象最深的、最喜欢的段落来分组自学。
(学生按山奇、水急、船险和传说四个内容分组自学)4、教师出示自学提纲:(1)读一读,把你最喜欢的语句读给小伙伴听。
(2)读一读,把你学懂的地方通过画画展示出来。
(3)读一读,把你心中的感受说出来。
学生按自学提纲分组自学,教师指导。
(4)、学生分组汇报,教师点拨指导。
(同时理解重点词句。
)5、拓展实践:教师放一段三峡风光录像片,要求学生自由配加导游词,适当加进自己的感受和想法。
6、.总结:这节课我们欣赏了三峡的风光,领略了它的美丽和神奇。
最后老师要把一首词送给大家,喜欢的话和老师一起读:师一起读:三峡美长江美,最美是三峡,山奇水急风光好,船行浪尖险中飘。
能不爱三峡?第2课时(一)教学目标理解“刀砍剑劈”,“缠绕”,“摇篮”,有感情地朗读课文,背诵第2~5自然段;完成作业本第4题;能仿照课文句子,赞美一个地方。
案例库【范本模板】

案例库第1章绪论1。
两种药用于同一种病,A药治疗5例,4例好转;B药治疗50例,36例好转.结论是:A药优于B药。
请问其结论合理吗?为什么?应该如何?2. 某研究者为了探讨原发性高血压患者肾小管早期损害的监控指标,选取尿常规、蛋白定性检查阴性,血肌酐、尿素氮均在正常范围内的原发性高血压患者74例作为病例组,其中男43例,女31例,平均年龄61岁(40~73岁)。
根据高血压的病程将患者分为三组,Ⅰ组高血压病期<10年,Ⅱ组高血压病期10~20年,Ⅲ组高血压病期>20年。
另选取53名体检健康的职工为对照组。
观测两组尿视黄醇结合蛋白(retinal binding protein,RBP)、微量白蛋白(microalbumin,mALB)、β2微球蛋白(β2 microglobulin,β2-MG)和N-乙酰-β-D—氨基葡萄糖苷酶(N—acetyl—β—D-glucosaminidase, NAG)四项定量指标的取值。
结论为:尿RBP、mALB、β2—MG和NAG是原发性高血压患者肾小球、肾小管早期损害的敏感指标.请辨析这样设计实验存在什么问题?正确的做法是什么?3。
某研究者的论文题目为“大学生身心健康状况及其影响因素研究”,以某地职业技术学院理、工、文、医学生(三年制)为研究对象,理、工、文、医学生分别挑选了60、38、19和46人,以问卷方式调查每位学生的一般健康状况、焦虑程度、抑郁程度等.得出的结论是:“大学生身心健康状况不容乐观,学业问题、就业压力、身体状况差、人际交往不良、社会支持不力为主要影响因素”。
请问其结论合理吗?为什么?应该如何?4。
某部队共有1 200人,在某段时间内患某病的人数有120人,其中男性114人,女性6人。
某卫生员进行统计分析后说,经假设检验,该病的两性发病率(114/120=95%与6/120=5%)之间的差别有统计学意义,由此得出结论:“该病男性易得”。
你对这个结论有何看法?若结论是错误的,那么,错误的实质是什么?正确的做法是什么?第二、三、四章1.某人编制了一张统计表(表1),你认为哪些需要改进?表1 1976—1979年吉林市各型恶性肿瘤的死亡率2.某医生观察了1 402名临产母亲的住院天数(表2),并得到平均住院天数为6.6天.请对此发表评论。
第19章 组态王数据库访问(SQL)

第十九章 组态王数据库访问(SQL )组态王SQL 访问功能是为了实现组态王和其他ODBC 数据库之间的数据传输。
它包括组态王SQL 访问管理器、如何配置与各种数据库的连接、组态王与数据库连接实例和SQL 函数的使用。
组态王SQL 访问管理器用来建立数据库列和组态王变量之间的联系。
通过表格模板在数据库中创建表格,表格模板信息存储在SQL.DEF 文件中;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。
这种联系存储在BIND.DEF 文件中。
组态王可以与其他外部数据库(支持ODBC 访问接口)进行数据传输。
首先在系统ODBC 数据源中添加数据库,然后通过组态王SQL 访问管理器和SQL 函数实现各种操作。
组态王SQL 函数可以在组态王的任意一种命令语言中调用。
这些函数用来创建表格,插入、删除记录,编辑已有的表格,清空、删除表格,查询记录等操作。
19.1 组态王SQL 访问管理器组态王SQL 访问管理器包括表格模板和记录体两部分功能。
当组态王执行SQLCreateTable();指令时,使用的表格模板将定义创建的表格的结构;当执行SQLInsert();、SQLSelect();或SQLUpdate();时,记录体中定义的连接将使组态王中的变量和数据库表格中的变量相关联。
salary name age salary name age100 emploee1 24200 emploee2 25300 emploee3 26组态王提供集成的SQL访问管理。
在组态王工程浏览器的左侧大纲项中,可以看到SQL访问管理器。
如图19.1所示。
图19.1 组态王SQL访问管理器19.1.1 表格模板选择工程浏览器左侧大纲项“SQL访问管理器文件\表格模板”,在工程浏览器右侧用鼠标左键双击“新建”图标,弹出对话框如图19.2所示。
该对话框用于建立新的表格模板。
图19.2 创建表格模板模板名称:表格模板的名称,长度不超过32个字节;字段名称:使用表格模板创建数据库表格中字段的名称,长度不超过32个字节;变量类型: 表格模板创建数据库表格中字段的类型。
织梦CMS模板制作手册
channel 获取栏目列表标签26
channelartlist 当前频道的下级栏目的内容列表29
feedback 评论内容32
field 内容变量34
flink 友情链接35
flinktype 友情链接类型36
global 全局配置变量标签37
hotwords搜索关键词37
板设计师提供一份快速检索的操作文档,全面介绍了织梦的模板引擎、标签及常用函数,相信会大大提高
模板设计师的制作效率。
DedeCMS的模板引擎采用了官方自行研发的Dede模板引擎,类XML结构的标签简单易懂,便于在
网页编辑器中进行编辑。同时标签齐全,应用广泛,这为基于DedeCMS建设开发的站点提供了一个良好
的基础,只需要懂HTML就可以搭建您想要的站点,这也是DedeCMS风靡的一个重要因素。
主题
手册将会从以下几个部分进行重点的说明:
? 织梦模板设计师要求
? 模板制作流程
? 模板文件及目录结构
? 模板引擎介绍
? 模板标签
? 模板扩展
发行方法
手册包含在线阅读、PDF、CHM几种发行方式,您可以登录织梦帮助中心来获取最新版本。
最后
编写这本手册,我们不希望他是一个人的项目,希望他有更多热爱织梦、热爱中国开源事业的朋友参
与进来。同时也需要对使用、支持DedeCMS的每一位用户提供的帮助、贡献、意见、评论、精神支持以
及耐心表示感谢。
9
Copyright?2002-2012DesDevINC.All rightsreserved.
5 index.htm:主页模板;
动物遗传育种Chapter 19 育种实践中的分子标记技术
随机扩增多态DNA random amplified polymorphic DNA,RAPD
(1)原理 1990年,美杜邦公司Williams推出。 PCR技术基础上发展起来的,利用一系列单个随机引物(通常为 10个核苷酸),对所研究的基因组DNA进行PCR扩增,然后电泳 检测PCR产物的多态性。 RAPD引物: I. 为随机引物 II. 序列较短(通常为10个核苷酸) III. 为一个寡核苷酸单链引物
第一节 分子标记的类型与原理
2、分子标记的类型
以PCR为基础的分子标记: 随机扩增多态DNA(random amplified polymorphic DNA, RAPD) 扩 增 片 段 长 度 多 态 性 (amplified fragment length polymorphism, AFLP) 简单重复序列多态性(simple sequence repeat, SSR) 单链构型多态性(single strand conformation polymorphism, SSCP)
(1)原理 不同物种、品种、甚至同一品种的不同个体间,DNA会发生变异 ,其中有些变异导致了限制性酶切位点的更动,从而产生了限制 片段长度的多态性; 限制性酶酶解核DNA会产生数万个片段,其大小变化是连续的, 如进行电泳分离,只能看到弥散状的连成一片的电泳结果; Southern印迹转移操作,用特定探针与滤膜上的DNA杂交,经过 放射自显影就能检测到核DNA的RFLP
Chapter 19 育种实践中的分子标记技术
贝类遗传育种研究室 2012/11/30
Chapter 19 育种实践中的分子标记技术
第一节 分子标记的类型与原理
第一节 分子标记的类型与原理
第19章-无机膜制备化学-幻灯片
美国官方文件曾说:“18世纪电器改变了整个工业过程, 而20世纪的膜技术将改变整个面貌,目前没有一项技术能 像膜一样广泛地应用”。
日本把膜技术作为21世纪基础技术进行研究与开发,早在 1987年东京国际膜会议上,明确指出:“21世纪的多数 工业中,膜分离技术扮演着战略角色”。
国际上有一种流行的说法,即“谁掌握了膜技术,谁就掌 握了化工的未来”。
19.1.3 无机膜制备技术
膜的传质分离性能取决于膜材料的物 理、化学和结构参数,这可以通过适当的 制备工艺及其参数调整,达到优化性能的 目的。
目前的制备方法有:粉体干压成型烧 结法、流延法、轧辊法、注浆成型法、挤 压成型法、溶胶-凝胶法等十多种方法。
表19-1无机膜结构与性能表征方法
表19-2 无机膜材料的制备方法一览表
H
M-OH+ M-OH →M-O-M-OH →M-O-M+H2O
2.无机聚合物溶胶的形成
应用聚合物溶胶制备溶胶-凝胶膜,其方式 与粒子溶胶颇为不同,在这类溶胶中,分 散相是由有机金属前驱体在有机介质中水 解缩合得到,大多数情况下,该过程涉及 到金属烷氧基化合物在醇中的聚合作用。
硅的烷氧化合物的水解与缩合反应速率比 较慢,因此需要碱或算催化剂
1.水溶液中粒子溶胶的形成
采用金属盐(或醇盐)为前驱体,溶于水后,在水介质中 的基本反应有以下三类:
(1)溶剂化 金属阳离子Mz+溶于水中,常为极性水分子所 包围,形成水(溶剂)合离子: Mz++:OH2→[M←OH2]z+
(2)水解反应 水合离子发生水解反应,相应发生电荷转移, 给出质子H+,其水解平衡式可写作: [MOH2]z+↔ [MOH]z-1+ H+ ↔ [M=O]z-2+2H+ 从上式看,水解平衡存在着三种类型的配位基:水合基 (MOH2);羟基MOH和氧化剂M=O。
最新版《简爱》情节梳理【范本模板】
最新版《简爱》情节梳理“名著助读”版《简爱》(按成长阶段)(一)苦难的童年(1—-4章)地点:盖茨海德府人物:里德太太(舅妈)伊丽莎乔治·安娜(表兄妹)约翰·里德贝茨(佣人)阿波特梗概:简·爱在出生不久便父母双亡,舅舅收养了她,但不久舅舅也亡故了。
舅妈一直视简,爱为一家人的沉重负担,并极其讨厌她的一举一动。
于是,在舅妈家度过的童年时期,简·爱遭受了巨大的磨难。
最终,在十岁那年,她被送到了罗沃德孤儿院.(二)艰难中成长(5-—10章)地点:洛伍德孤儿院人物:布洛克赫斯特先生(学校司库、主管) 谭波尔小姐(学监)史密斯小姐斯凯丘小姐皮埃若夫人(教师)海伦·彭斯(同学、朋友)梗概:洛伍德孤儿院,一个教规严厉、条件极为艰苦的地方。
简·爱刚到这里的第一年便赶上了一场突如其来的瘟疫,眼看着一个个同学在这里倒下,特别是好友海伦·彭斯的离去,使简爱幼小的心灵体会到了生命的残酷。
在这里,简爱虽然历经磨难,却坚强地生存了下来。
度过第一年的难关后,学校改善了学生们的生活饮食条件。
简爱在这里又做了六年学生、两年老师。
期间的八年中,谭波尔小姐成为简爱敬仰和感激的至爱之师和人生挚友,因为“我获得的一些最宝贵的知识,都要归功于她的指导.”“她充当了我的母亲及家庭教师的角色,后来又成为我的伴侣”。
“她的友谊及与她的交往始终是我的一种安慰”。
因此,当谭波尔小姐要离开洛伍德孤儿院时,简·爱也在一番思索后决定要到“一个陌生的环境里担当新职务,过一种新生活".(三)体验爱情( 11--27章)地点:桑菲尔德庄园人物:罗切斯特先生菲尔法克斯太太阿黛尔索菲格雷斯·普尔约翰夫妇梅森柏莎·梅森英格拉姆小姐概要:11章:初到时桑菲尔德庄园,结识庄园中人物关系。
主人:罗切斯特;菲尔法克斯太太是一位忠实的管家;阿黛尔是罗切斯特先生监护的孩子,她来自法国,妈妈可能是一名舞女,这一点后来从罗切斯特那儿得到了证实.后来揭示的人物关系:索菲是阿黛尔的佣人;格雷斯和约翰夫妇均是佣人;柏莎.梅森是主人罗切斯特先生的妻子:梅森先生是柏莎·梅森的哥哥;英格拉姆小姐曾与罗切斯特先生有过一段感情纠葛。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
杨章伟 e-mail:yang505412@
课程内容安排
• • • • • •
了解类模板的概念,以及为什么使用类模板; 掌握类模板的定义; 了解类模板和模板类的区别; 掌握类模板的实例化; 熟悉类模板的特化和偏特化; 熟悉类模板的匹配规则。
1-2
类模板
• 顾名思义,类模板就是类的模板。同函数模板一样,类 的模板也是对数据的类型进行了参数化处理。将类模板 实例化,也就是指定数据的具体类型,将得到一个具体 的、可以用来定义对象的类。类模板同函数模板一样, 所能接受的具体类型参数都是有限制的。具体哪些类型 可以用来实例化模板,要看模板的具体定义。 类模板是C++语言的一个非常重要的特征,也代表着某 种 编 程 趋 势 —— 泛 型 编 程 。 在 C++ 的 标 准 模 板 库 ( Standard Template Library,简称STL)中就提供了 大量的类模板,如list、deque、 map、set、vector 、stack、queue等。
1-15
【分析】该试题主要考察在类模板中声明的函数在类外进行 实现的问题。根据前面的学习,读者知道在类模板中声 明的函数如果在类外进行具体定义,需要加上模板名 template <class T>和作用域运算符,表示该成员函数 的归属。==运算符的重载即实现比较类中似有成员n的值 是否相等,通过简单的分支语句即可实现。 【核心代码】 template <class T> int Sample<T>::operator==(Sample &s) { if(n==s.n) return 1; else return 0; }
1-19
• • • •
1-7
类模板的特化
有的时候某些类型不能直接用来实例化类模板,或者 说直接实例化不能满足需要,此时就要针对这种类型 进行的特化,包括完全特化和偏特化。
类模板的特化是为了针对特殊的类型,进行特殊的处 理。
1-8
小结
本章主要讲述了类模板的概念及类模板的定义和实例化。C++中 的类模板与普通类相似,可以定义自己的函数成员、静态成员 、友元函数等。类模板有特化和今偏特化两种,要注意在此之 前需要普通类模板的定义。
1-16
【题目276】设计一个模板类Sample,用于对一个有序数 组采用二分法查找元素下标。 【分析】该试题主要考查类模板的设计和实现问题。该试题 要求设计一个模板类,其中必然要包含数组的声明,其 作为模板类的似有成员;而采用二分法查找数组下标的 实现函数作为模板类的成员函数在类中进行声明,类外 进行具体实现。因此,模板类Sample的设计如下。
1-12
【题目273】分析以下程序的执行结果 #include<iostream> template<class T> class Sample { T n; public: Sample(){} Sample(T i){n=i;} Sample<T>&operator+(consta Sample<T>&); void disp(){cout<<"n="<<n<<endl;} }; template<class T> Sample<T>&Sample<T>::operator+(const Sample<T>&s) { static Sample<T> temp; temp.n=n+s.n; return temp; } int main() { Sample<int>s1(10),s2(20),s3; s3=s1+s2; s3.disp(); }
实例化类模板时,对于类型参数,可以用C++内建的类型实 例化,也可以用自定义的类型。与函数模板不同的是,类模 板在实例化时没有参数推导机制,所有的模板参数必须指定 ,除非模板参数带有缺省实参。
•
1-5
类模板的静态成员
• 与普通类一样,模板也可以有自己的静态成员。所不同 的是,每种类型的类模板的实例有自己的一组静态成员 。与普通类的静态成员初始化一样,类模板的静态成员 也需要类内声明,在类外定义。其在类外定义的格式如 下: template <类型名 参数名1,类型名 参数名2,…> 类型名 类名<类型名 参数名1,类型名 参数名2,…>:: 静态数据成员= 初始化值;
1-13
【分析】该试题主要考查类模板的使用方法和重载运算符的 实现。在上述程序段中,Sample为一个类模板,产生一 个模板类Sample<int>,并建立它的三个对象,调用重 载运算符+实现s1与s2的加法运算,将结果赋给s3。读者 可以看出,重载后的运算符+能够实现两个对象直接的加 法运算,因此,该程序段的输出为s=30。 【题目274】设计一个数组类模板Array<T>,其中包含重载 下标运算符函数,并由此产生模板类Array<int>和 Array<char>,使用一些测试数据对其进行测试。 【分析】该试题主要考查类模板的实现以及在主函数中的实 例化。此处首先设计一个数组类模板,该模板中包含下 标运算符的重载函数,读者可以选择在类外实现该函数 的定义。在主函数中定义整型数组和字符型数组并初始 化,将类模板分别实例化为整型和字符型,查看输出结 果。
1-14
【题目275】已知一个Sample类模板的私有数据成员为T n ,在该类模板中设计一个operator==重载运算符函数 , 用于比较各对象的n数据是否相等。 template <class T> class Sample { T n; public: Sample(T i){n=i;} int operator==(Sample &); };
template <typename 参数名1,typename 参数名2,…> class 类模板名 { // 类体 };
• • • • •
•
需要读者注意的是,类模板定义最后的分号不可省,因 为与类的定义一样,类模板的定义也是一条语句,需要 一个分号作为语句的结束。
1-4
生成类模板
• 类模板只是一个模板,不是实际的类。使用类模板时,必须 先实例化,即给类模板参数赋值,包括类型参数和非类型参 数。本节将详细讨论如何实例化类模板。有的文献将类模板 实例化的结果称作模板类,读者在阅读的时候注意区分这两 个概念。类模板是模板,而模板类则是模板实例化的结果— —是真正可以用来声明对象的类。•Fra bibliotek1-3
定义类模板
• 一个类模板的定义以关键字template作为开始,后面 跟一对尖括号,尖括号的里面是模板参数列表。模板参 数之间用逗号分隔。如果是类型参数,则以typename 或class声明;如果是非类型参数,则其声明语法同普 通函数参数的声明语法类似。在模板参数列表之后,可 以像定义类一样来定义类模板。语法如下所示:
1-9
习题
【题目271】分析以下程序的执行结果。 #include<iostream> template <class T> class Sample { T n; public: Sample(T i){n=i;} void operator++(); void disp(){cout<<"n="<<n<<endl;} }; template <class T> void Sample<T>::operator++() { n+=1; // 不能用n++;因为double型不能用++ } int main() { Sample<char> s('a'); s++; s.disp(); }
1-17
【题目277】设计、实现并测试一个对具有size个元素的数 组求最大值的应用,要求用函数模版完成。 【分析】该试题主要考察函数模板的应用。该程序设计一个 函数模板,参数为具有size个元素的数组,在函数体中通 过循环比较数组中的每个元素,将其最大的赋值给变了 max,并返回max的值,即完成了题目的要求。
1-10
【分析】该试题主要考查类模板的使用方法。在上述程序段 中 , Sample 是 一 个 类 模 板 , 由 它 产 生 模 板 类 Sample<char>,通过构造函数给n赋初值,通过重载++ 运算符使n增1,这里n由'a'增1变成'b'。因此,该试题的 输出结果为n=b。
1-11
【题目272】编写一个使用类模板对数组进行排序、查找和求元素 和的程序。 【分析】该试题主要考查类模板的实现问题。在对数组的操作中, 排序、查找和求元素和都是使用非常频繁的操作,为了对各种数 据类型的数组都能进行上述几种操作,有必要编写一个类模板来 实现。改试题可以设计一个类模板template<class T>class Array,用于对T类型的数组进行排序、查找和求元素和,然后由 此产生模板类Array<int>和Array<double>。
【题目278】设计、实现并测试一个类模版,对数组元素进 行排序。 【分析】该试题主要考查类模板的设计。该程序设计一个类 模板,包括数组名和长度等2个私有成员,包括构造函数 、析构函数和排序函数等3个公有成员,在类外定义排序 函数的函数体,采用冒泡排序法进行排序。
1-18
【题目279】设计、实现并测试一个类模版,在数组中查找 指定元素x,查找成功则返回值1,否则返回值0 【分析】该试题主要考查类模板的设计。该程序设计一个类 模板,包括数组名和长度等2个私有成员,包括构造函数 、析构函数和排序函数等3个公有成员,在类外定义排序 函数的函数体,通过循环依次比较数组中的每个元素与x 的值是否相等,是则返回值1,否则返回值0。 【题目280】设计一个Sample类,其数据和方法均包含在 该类中,而且使用类模板的方式实现插入排序、冒泡排 序、快速排序等。