第十四周实践项目2.2-两个成员的类模板
来源:互联网 发布:菜单模板制作软件 编辑:程序博客网 时间:2024/05/18 01:36
问题及代码:
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:77.cpp *作 者:董凯琦 *完成日期:2016年6月1日 *版 本 号:v1.0 * *问题描述:已知设有如下的类声明:class Test{public: void SetData1(int val) { data1=val; } void SetData2(double val) {data2=val: } int GetData1() { return data1; } double GetData2() { return data2; }private: int data1; double data2;(2)请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。 *输入描述: *程序输出: */#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(7,8.6); 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>
0 0
- 第十四周实践项目2.2-两个成员的类模板
- 第十四周实践项目2.1-两个成员的类模板
- 第十四周项目 2.2 两个成员的类模板 (2)
- 第十四周项目2.2—两个成员的类模板
- 第十四周项目2.2—两个成员的类模板
- 第十四周实践项目2————两个成员的类模板(1)
- 第十四周实践项目2————两个成员的类模板(2)
- 第十四周上机实践——项目2-两个成员的类模板
- 第十四周上机实践项目2(1):两个成员的类模板
- 第十四周上机实践项目2(2):两个成员的类模板
- 第十四周项目2.1 两个成员的类模板 (1)
- 第十四周项目二 两个成员的类模板(1)
- 第十四周项目二 两个成员的类模板(2)
- 第十四周项目二 两个成员的类模板
- 第十四周项目2.1—两个成员的类模板
- 第十四周项目3:两个成员的类模板
- 第十四周项目2:两个成员的类模板(改)
- 第十四周项目3:两个成员的类模板(2)
- SVN提交新源码压缩包
- 设计模式笔记-Memento模式
- git am PATCH 失败的处理方法
- 算法课笔记系列(九)——近似算法(Part1)
- MSSql关闭自增列
- 第十四周实践项目2.2-两个成员的类模板
- [sdcard-application]当文件夹路径从n层按back键退回到n-19层的时候,file manager自动退出
- 扩展Ext的JsonReader
- webpack学习笔记
- eclipse插件egit安装使用
- 简单封装Jackson,实现JSON String到Java Object的Mapper.
- UIButton一些用法
- RDLC报表 在WinForm里运行出现 未能加载文件或程序集microsoft.reportviewer.winforms
- iOS及Mac开源项目和学习资料