第十四周项目2.2—两个成员的类模板
2016-06-15 18:30
411 查看
问题及代码:
运行结果:
/* *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights reserved. *文件名称:main.cpp *作者:郝昱猛 *完成日期:2016年6月15日 *问题描述:将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。增默认构造函数、 带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。 */ #include <iostream> using namespace std; template <class T1,class T2> class Test { public: Test();//默认构造函数 Test(T1 a,T2 b);//初始化的构造函数 Test(const Test<T1,T2>&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 a,T2 b):data1(a),data2(b){} template <class T1,class T2> Test<T1,T2>::Test(const Test<T1,T2>&t):data1(t.data1),data2(t.data2){} int main() { Test<int,double>t1; t1.SetData1(2); t1.SetData2(10.2); cout<<t1.GetData1()<<" "<<t1.GetData2()<<endl; Test<char,string>t2; t2.SetData1('y'); t2.SetData2("yang!"); cout<<t2.GetData1()<<" "<<t2.GetData2()<<endl; return 0; }
运行结果:
相关文章推荐
- 一致性协议
- 消息中间件与JMS标准
- Linux下载到window本地的方法
- Activity的生命周期
- BZOJ4591 [Shoi2015]超能粒子炮·改
- MemCache超详细解读
- 大型网站架构学习笔记
- 获取hudson持续构建编译结果的一种方法
- 浅析Java中的Thread
- 二分查找、折半查找
- Keycode对照表
- discuz X论坛技术架构 MVC结构浅析
- 写个unix配置sudo的
- html5视频嵌入
- 获取hudson持续构建编译结果的一种方法
- NoSQL:从关系型数据库到非关系型数据库
- git入门学习笔记
- Java以UTF-8编码读写文件
- 不要忘记·············调用库···
- tomcat关不掉的原因