第14周项目 2—两个成员的类模板 (2)
2016-06-09 17:31
323 查看
*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights reserved.
*文件名称:main.cpp
*作者:孙亚茹
*完成日期:2016年6月9日
*问题描述:声明为函数模板,编写程序。
*//
总结:
考查了类模板的默认构造函数,两个参数的构造函数,复制构造函数的写法。
注意在写复制构造函数时复制对象与被复制对象两个类模板的前后顺序,被复制的对象类模板要写在前面:template <class T1,class T2>template <class t1,class t2>
Test<T1,T2>::Test(Test<t1,t2> &t):
*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights reserved.
*文件名称:main.cpp
*作者:孙亚茹
*完成日期:2016年6月9日
*问题描述:声明为函数模板,编写程序。
*//
#include <iostream> using namespace std; template <class T1,class T2> class Test{ public: Test(); Test(T1 dat1,T2 dat2); template<class t1,class t2> Test(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 dat1,T2 dat2):data1(dat1),data2(dat2){} template <class T1,class T2>template <class t1,class t2> Test<T1,T2>::Test(Test<t1,t2> &t): data1(t.data1),data2(t.data2){} int main() { Test <int,double>t; t.SetData1(8); t.SetData2(6.6); cout<<t.GetData1()<<" "<<t.GetData2()<<endl; cout<<"下面执行复制构造函数:"<<endl; Test <int,double>t0(t); cout<<t0.GetData1()<<" "<<t0.GetData2()<<endl; return 0; }
总结:
考查了类模板的默认构造函数,两个参数的构造函数,复制构造函数的写法。
注意在写复制构造函数时复制对象与被复制对象两个类模板的前后顺序,被复制的对象类模板要写在前面:template <class T1,class T2>template <class t1,class t2>
Test<T1,T2>::Test(Test<t1,t2> &t):
相关文章推荐
- 我们都一样
- 电商之梳理springmvc相关知识---开发基础框架
- JQuery 事件
- 中国开源镜像站点汇总
- Spring学习笔记--使用Spring基于Java的配置
- iOS 取消图片渲染
- 用运算符重载“+”的方法直接实现两个一维数组对应元素的相加
- Linux发行版·常见Linux系统下载
- Spring学习笔记--自动检测
- 一段催人泪下的故事
- HotSpot JVM options to generate garbage collection logging messages
- 浅谈代理模式--Proxy
- 团队开发管理-软件项目估算
- 电商之梳理mybatis相关知识---开发基础框架
- 剑指offer(11)-链表中倒数第k个结点
- Spark Streaming初始化和关闭源码图解(第23课)
- autofac Adding services after container has been built
- 电商之梳理struts2相关知识---开发基础框架
- Spring学习笔记--使用注解装配
- Filter详解