- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * 例14-4:参照例9-11设计一个类模板MyArray,用来实现可以任意指定下标范围的任意类型的数组 * 14.2 类模板 例14-4(续) //MyArray.h #includeiostream using namespace std; templatetypename T class MyArray{ int min_index; int max_index; T *data; public: MyArray( int min, int max); MyArray( int max); ~MyArray( ){ delete []data; }; T operator[](int index)const; int getMinIndex()const{ return min_index; } int getMaxIndex()const{ return max_index; } }; * 14.2 类模板 例14-4(续) templatetypename T MyArrayT::MyArray( int min, int max): min_index(min),max_index(max){ if(minmax){ //若下标范围的下界大于上界,显示出错信息并退出 cout“Error index range”; exit(1); } data=new T[max_index-min_index+1]; } ? templatetypename T MyArrayT::MyArray( int max): min_index(0),max_index(max){ data=new T[max_index+1]; } * 14.2 类模板 例14-4(续) templatetypename T T MyArrayT::operator [](int index)const{ if(indexmin_index || indexmax_index){ //若下标越界,显示出错信息并退出 coutIndex out of range; exit(1); } return data[index-min_index]; } ? templatetypename T istream operator(istream is, MyArrayT a){ for(int i=a.getMinIndex(); i=a.getMaxIndex(); i++) isa[i]; return is; } * 14.2 类模板 例14-4(续) templatetypename T ostream operator (ostream os, const MyArrayT a){ for(int i=a.getMinIndex(); i=a.getMaxIndex(); i++) osa[i] ; return os; }? //14_4.cpp #includeMyArray.h int main(){ MyArrayint x(3,8); cout“请输入”(x.getMaxIndex()-x.getMinIndex()+1)“个数据:”; cinx; cout“刚输入的数据是:”; coutxendl; ? return 0; } * 14.2 类模板 运行结果: 请输入6个数据:1 2 3 4 5 6 刚输入的数据是:1 2 3 4 5 6 例14-4(续) 14.2 类模板 * 14.3 类模板与继承 模板类继承普通类在模板外定义模板类的成员函数 模板类继承类模板的实例 模板类继承模板类 普通类继承类模板的实例 模板类继承模板参数给出的基类 * 例14-5:设计模板类Derived,使得在创建一个Derived对象时可以动态确定它的基类 * 14.3 类模板与继承 例14-5(续) //DynaBase.h #includeiostream using namespace std;? class Base_A{ public: Base_A(){ cout创建Base_Aendl;} }; ?class Base_B{ public: Base_B(){ cout创建Base_Bendl;} }; templatetypename T class Derived:public T{ public: Derived():T(){ cou
您可能关注的文档
- C#网络应用编程基础 作者 马骏2 第11章 网站建设与网页制作.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯1 第4章 P2P应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯1 第5章 SMTP与POP3应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯1 第6章 网络数据加密与解密.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第1章 进程、线程与网络协议.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第2章 TCP应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第3章 UDP应用编程.ppt
- C#网络应用高级编程 作者 马骏 郑逢斌 沈夏炯2 第5章 SMTP与POP3应用编程.ppt
- C#应用程序设计教程 第2版 普通高等教育“十一五”国家级规划教材 作者 耿肇英 周真真 耿燚 第1章 C#语言基础.ppt
- C#应用程序设计教程 第2版 普通高等教育“十一五”国家级规划教材 作者 耿肇英 周真真 耿燚 第2章 WPF编程基础.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第2章 变量和表达式.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第4章 数 组.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第7章 结构和联合.ppt
- C++语言基础教程 作者 吕凤翥 1_ 第12章 C++语言的.ppt
- C_C++程序设计基础 作者 李凤云 第3章 数据类型.ppt
- C_C++程序设计基础 作者 李凤云 第4章顺序结构程序设计.ppt
- C_C++程序设计基础 作者 李凤云 第6章 循环结构.ppt
- C_C++程序设计基础 作者 李凤云 第7章 数组.ppt
- C_C++程序设计基础 作者 李凤云 第8章 函数.ppt
- C_C++程序设计基础 作者 李凤云 第9章 编译预处理.ppt
文档评论(0)