您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > 实验四-类模板的定义与使用
第1页特别提示:请各位同学参考下面实验报告的内容完成自己的实验报告。请做适当修改,修改后将新的程序运行结果截图粘贴至实验报告中。切记不要出现大面积雷同情况,否则责任自负。上交时间另行通知!上交时,将以上内容删去!!!实验四类模板的定义与使用《C++程序设计》实验报告题目:类模板的定义与使用姓名日期实验环境VisualC++6.0实验内容与完成情况实验目的:1,掌握类模板定义的一般格式2,掌握类模板数据成员定义与成员函数定义格式及其使用(含类模板外定义成员函数)实验内容:1,完成类模板的定义定义Array类,其属性有数据容量count、指向动态数组的指针p定义相关构造函数、析构函数定义show函数显示相关信息定义set函数存入相关信息2,将类模板部分成员函数定义在类体之外3,设计main函数创建对象调用对象成员函数实现数据存入,数据显示,并显示出构造析构过程并输出结果源程序代码:#includeiostream#includestringusingnamespacestd;第2页templateclassTclassArray{private:intcount;T*p;public:Array(intn,Tx){count=n;p=newT[count];for(inti=0;i=count-1;i++)*(p+i)=x;cout类模板对象构造。。。endl;}~Array(){delete[]p;cout类模板对象析构。。。endl;}voidshow();voidset(intn,Tx);voidset(intn,T*b);};templateclassTvoidArrayT::show(){cout对象中的数据容量:count数据:;for(inti=0;i=count-1;i++)cout*(p+i);coutendl;}templateclassTvoidArrayT::set(intn,Tx){delete[]p;count=n;p=newT[count];for(inti=0;i=count-1;i++)*(p+i)=x;}templateclassTvoidArrayT::set(intn,T*b){delete[]p;第3页count=n;p=newT[count];for(inti=0;i=count-1;i++)*(p+i)=*(b+i);}voidmain(){Arraychara(10,'A');a.show();charc[20]={'a','b','c','d','e','f','g','h','i','j'};a.set(20,c);a.show();a.set(5,'x');a.show();Arrayintb(6,10);b.show();b.set(10,6);b.show();}运行结果截图:第4页出现的问题解决方案(列出遇到的问题和解决办法,列出未解决的问题)
本文标题:实验四-类模板的定义与使用
链接地址:https://www.777doc.com/doc-6248878 .html