PPTC++模板介绍.ppt

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

C++模板;提纲;模板引子;模板的概念;模板分类;求最大值模板函数实现;模板工作方式;#include iostream.h template class T T min(T a[],int n) { int i; T minv=a[0]; for( i = 1;i n ; i++){ if(minva[i]) minv=a[i]; } return minv; };在函数模板中允许使用多个类型参数。但在template定义部分的每个模板形参前必须有关键字class。; 在template语句与函数模板定义语句之间不允许有别的语句。 //这是不能编译的 Template class T int i; //错误,不允许有别的语句 T max(T x,T y) { return(xy)? x : y;} 模板函数类似于重载函数,只不过它更严格一些而已。函数被重载的时候,在每个函数体内可以执行不同的动作,但同一函数模板实例化后的所有模板函数都必须执行相同的动作。 //不能做函数模板的 void outdate(int i) { couti; } void outdata(double d) {cout”d=”dendl;} ;模板优缺点;类模板和模板类;例: 下面的程序中建立了一个用来实现堆栈的类模板。 const int size=10 Templateclass Type class stack{ Type stck[size]; int top; public: void init() {top=0;} void push(Type ch); Type pop(); };; 成员函数 push() 和 pop() 在类定义体外定义,如果该成员函数中有模板参数,则需先进行模板声明,再用类模板名来限定函数名,即在函数名前,类名后缀上“Type” templateclass Type void stackType::push(Type ob) { if(top= =size) { cout”stack is full”; return; } stck[top]=ob; top++; };templateclass Type Type stackType::pop() { if(top= =0) { cout”stack is empty”; return 0; } tos--; return stck[top]; };类模板stack(Type);例 类模板stack的例子,在此建立了字符型和整型两个堆栈。;templateclass Type void stackType::push(Type ob) { if (top= =size) { cout”stack is full”; return; } stck[top]=ob; top++; } templateclass Type Type stackType::pop() { if (top= =0) { cout”stack is empty”; return 0; } top--; return stck[top]; };void main() { //定义字符堆栈 stackchars1,s2; int i; s1.init(); s2.init(); s1.push(‘a’); s2.push(‘x’); s1.push(‘b’); s2.push(‘y’); s1.push(‘c’); s2.push(‘z’); for(i=0;i3;i++) cout”pops1:”s1.pop()endl; for(i=0;i3;i++) cout”pops2:”s2.pop()endl; ;//定义整型堆栈 stackintis1,is2; //创建两个模板参数为int型的对象 is1.init(); is2.init(); is1.push(1); is2.push(2); is1.push(3); is2.push(4); is1.push(5); is2.push(6);

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档