欢迎来到天天文库
浏览记录
ID:57136297
大小:174.00 KB
页数:49页
时间:2020-08-01
《模板与标准模板库课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、模板与标准模板库代码重用的另一种方式:模板类7.1模板的基本知识一个模板类至少具有一个类参数,类参数是个符号以表示将要被某个确定数据类型代替的类型。classintArray{public:int&operator[](int);constint&operator[](int)const;intArray(int);~intArray();intget_size()const{returnsize;}private:int*a;intsize;intArray();//***foremphasisintdummy_val;//arbitraryval
2、ue};int&intArray::operator[](inti){if(i<0
3、
4、i>=size){cerr<<"index"<
5、
6、i>=size){cerr<<"index"<
7、ntArray::~intArray(){delete[]a;}//#################################//#########模板类方式#############//#################################templateclassArray{public:T&operator[](int);constT&operator[](int)const;Array(int);~Array();intget_size()const{returnsize;}private:T*a;ints
8、ize;Array();//***foremphasisTdummy_val;//arbitraryvalue};templateT&Array::operator[](inti){if(i<0
9、
10、i>=size){cerr<<"index"<constT&Array::operator[](inti)const{if(i<0
11、
12、i>=size){cerr<<"index"<
13、ounds:";returndummy_val;}returna[i];}templateArray::Array(ints){a=newT[size=s];}templateArray::~Array(){delete[]a;}templateostream&operator<<(ostream&os,constArray&ar){for(inti=0;i14、stream>usingnamespacestd;//declarationoftemplateclassArrayintmain(){Arraya1(100);//arrayof100doublesa1[6]=3.14;cout<classArray{//...};Arraya0(50);Arraya1(50);templateArraya2(50);Arraya3(50);7.1.2参数表中的模板类模板类可以作为一种数15、据类型出现在参数表中。templateostream&operator<<(ostream&os,constArray&ar){for(inti=0;iTMax(Tt[],intn){inti=0;Ttemp=t[0];for(i=1;ivoidswap(T&x,T&y){16、Tt=x;//copyxtotemporaryx=y;//copyytoxy=t;//copytempora
14、stream>usingnamespacestd;//declarationoftemplateclassArrayintmain(){Arraya1(100);//arrayof100doublesa1[6]=3.14;cout<classArray{//...};Arraya0(50);Arraya1(50);templateArraya2(50);Arraya3(50);7.1.2参数表中的模板类模板类可以作为一种数
15、据类型出现在参数表中。templateostream&operator<<(ostream&os,constArray&ar){for(inti=0;iTMax(Tt[],intn){inti=0;Ttemp=t[0];for(i=1;ivoidswap(T&x,T&y){
16、Tt=x;//copyxtotemporaryx=y;//copyytoxy=t;//copytempora
此文档下载收益归作者所有