第十四周项目二(2)-两个成员的类模板
2016-06-20 16:49
302 查看
问题及代码:
运行结果:
知识点总结:
在执行实现成员函数的时候,要在每个成员函数实现前加上template <class T1,class T2>而且不要忘记class
实现成员函数的时候要加上Test<T1,T2>::
对于复制构造函数的实现要注意要在template <class T1,class T2>之后加上template <class U,class V>
/* *烟台大学计算机与控制工程学院 *文件名称:xiangmu2(2).cpp *作 者:闫安 *完成日期:2016年6月9日 *版 本 号:codeblocks 16.01 * *问题描述:请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。 *程序输入:无 *程序输出:运算结果 */ #include <iostream> #include <string> using namespace std; template <class T1,class T2> class Test { public: Test(); Test(T1 d1, T2 d2); template <class U,class V> Test(const Test<U,V> &t); void SetData1(T1 val) { data1=val; } void SetData2(T2 val) { data2=val; } T1 GetData1() { return data1; } T2 GetData2() { return data2; } private: T1 data1; T2 data2; }; template <class T1,class T2> Test<T1,T2>::Test() {} template <class T1,class T2> Test<T1, T2>::Test(T1 d1, T2 d2): data1(d1),data2(d2) {} template <class T1,class T2> template <class U,class V> Test<T1, T2>::Test(const Test<U,V> &t): data1(t.data1),data2(t.data2) {}; int main() { Test <int,double> t1(14, 8.2); cout<<t1.GetData1()<<" "<<t1.GetData2()<<endl; Test <int,double> t2(t1); cout<<t2.GetData1()<<" "<<t2.GetData2()<<endl; return 0; }
运行结果:
知识点总结:
在执行实现成员函数的时候,要在每个成员函数实现前加上template <class T1,class T2>而且不要忘记class
实现成员函数的时候要加上Test<T1,T2>::
对于复制构造函数的实现要注意要在template <class T1,class T2>之后加上template <class U,class V>
相关文章推荐
- ios 学习之 NSPredicate 模糊、精确、查询
- 更新百度地图,极光推送SDK 时无效
- 八大排序算法
- JS的encodeURI和java的URLDecoder.decode
- 教你一步一步实现图标无缝变形切换
- Linux 文件管理权限
- 阅读读程序(3)
- 互联网公司KPI
- IntelliJ IDEA 之 Servlet简单实现
- DHTML:<input type="file">
- 常用Python的BIF指令
- spring framework官方下载地址
- Android SnackBar学习
- js(javascript)中的奇特for循环写法!
- 未保存的关于大数据的网页
- 移动端前端框架UI库
- lucence入门
- HTML语言学习(一)
- HBase 使用 Java Api 实现对数据的增删改查
- EclEmma测试代码覆盖率使用案例