第十四周实践项目2.1-两个成员的类模板
2016-06-01 16:54
375 查看
问题及代码:
运行结果:
知识点总结:
两个成员的类模板要将对应的类型分别改为T1,T2,在类之前要加上template <class T1,class T2>。注意不能写成template <class T1,T2>!
学习心得:
构建对象的时候要将对应的class T1,class T2改为想要的类型。
/* *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; 试将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。 *输入描述: *程序输出: */ #include <iostream> #include <string> using namespace std; template <class T1,class T2> class Test { public: 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; }; int main() { Test<int,double>t1; t1.SetData1(7); t1.SetData2(8.6); cout<<t1.GetData1()<<" "<<t1.GetData2()<<endl; Test <string,char> t2; t2.SetData1("I like C++!"); t2.SetData2('q'); cout<<t2.GetData1()<<" "<<t2.GetData2()<<endl; return 0; }
运行结果:
知识点总结:
两个成员的类模板要将对应的类型分别改为T1,T2,在类之前要加上template <class T1,class T2>。注意不能写成template <class T1,T2>!
学习心得:
构建对象的时候要将对应的class T1,class T2改为想要的类型。
相关文章推荐
- 牛客网算法学习笔记-卡特兰数相关
- 委托类的练习
- 开源负载均衡通讯分发器(LB dispatcher) - G5
- 开源负载均衡通讯分发器(LB dispatcher) - G5
- ViewPager+Fragment滑动或者点击导航颜色变化
- Insertion Sort List(medium)
- okHttp(二)官网翻译
- monkey测试
- Android 自定义View属性相关细节
- squid代理
- 保存图片到本地相册
- Android之项目中JNI调用已有的Android平台so库
- 邮件营销:时间、资源和资金到底有多重要?
- 第七条 避免使用终结方法
- SystemClock.sleep和Thread.sleep分析
- 线程
- Java TreeSet
- 《JavaScript DOM 编程艺术》读书笔记
- codechef Prime Distance On Tree FFT
- Oracle计算时间差