第14周项目二——两个成员函数的类模板(2)
来源:互联网 发布:iphone7电池检测软件 编辑:程序博客网 时间:2024/05/17 22:32
/* 烟台大学计算机学院 *文件名称:test.cpp *作者:李亚辉*完成日期:2016年6月24日 *版本号:vc++6.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; } (1)试将此类声明改为类模板声明,使得数据成员data1和data2可以是任何类型。 (2)请为该类增默认构造函数、带两个参数分别对应两个数据成员初值的构造函数,以及复制构造函数。 *输入描述: *程序输出: */ #include <iostream> #include <string> using namespace std; template <class T1,class T2> class Test { public: Test(T1 d1, T2 d2):data1(d1),data2(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> 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(10, 5.4); cout<<t1.GetData1()<<" "<<t1.GetData2()<<endl; Test <int,double> t2(t1); cout<<t2.GetData1()<<" "<<t2.GetData2()<<endl; return 0; } /*学习心得:复制构造函数类比声明的是两个对象,这点很重要。
0 0
- 第14周项目二——两个成员函数的类模板(2)
- 第14周项目二两个成员函数的模板(1)
- 第14周项目 2—两个成员的类模板 (2)
- 第14周项目 2—两个成员的类模板 (1)
- 第14周实践项目2(2)——两个成员的类模板
- 第14周实践项目2(1)——两个成员的类模板
- C++第14周项目模板【项目2-两个成员的类模板】 !!!!!!!
- 第14周实践项目-两个成员的类模板
- 第14周-项目2-两个成员的类模板(2)
- 第14周项目2--两个成员的类模板(2)
- 第14周项目2-两个成员的类模板(2)
- 第14周-项目2-两个成员的类模板(1)
- 第14周项目2-两个成员的类模板(1)
- 第14周项目2--两个成员的类模板(1)
- C++走向远洋——63(项目二2、两个成员的类模板)
- 第14周项目2-两个成员的类模板2
- 第14周项目2:两个成员的类模板(2)
- 第14周项目2-两个成员的类模板1
- NYOJ 108 士兵杀敌(一)
- PDO详解
- Gstreamer 小便签
- 常用sql语句
- iOS MD5加密字符串
- 第14周项目二——两个成员函数的类模板(2)
- Struts2中jsp前台传值到action后台的三种方式
- 第十六周(1)-阅读程序
- android 获取屏幕信息
- 取款机的语言&拆分数字&数字的秘密
- mysql在表的某一位置增加一列的命令
- OS 开发之照片框架详解
- UML类图几种关系的总结
- 【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试