template
2015-12-19 22:07
381 查看
#include <iostream> using namespace std; template <typename T1, typename T2> class complex { public: T1 real; T2 imag; complex(); complex(T1 r, T2 i); complex(const complex<T1, T2> &R); complex &operator=(const complex<T1, T2> &R); }; template <typename T1, typename T2> complex<T1, T2>::complex():real(0),imag(0) { } template <typename T1, typename T2> complex<T1, T2>::complex(T1 r, T2 i) { real = r; imag = i; } template <typename T1, typename T2> complex<T1, T2>::complex(const complex<T1, T2> &R) { real = R.real; imag = R.imag; } template <typename T1, typename T2> complex<T1, T2> &complex<T1, T2>::operator=(const complex<T1, T2> &R) { real = R.real; imag = R.imag; return *this; } template <typename T1, typename T2> ostream &operator<<(ostream &out, const complex<T1, T2> &R) { out<<"real:"<<R.real<<" imag:"<<R.imag; return out; } template <typename T1, typename T2> complex<T1, T2> operator+(const complex<T1, T2> &L, const complex<T1, T2> &R) { complex<T1, T2> sum; sum.real = L.real + R.real; sum.imag = L.imag + R.imag; return sum; } int main() { complex<int, int> a(2,3), b(3, 2); complex<int, int> c = a + b; cout<<c<<endl; }
相关文章推荐
- switch case 与 if
- Smart L 系列产品解决方案
- 链路
- oracle行转列(连接字符串函数)
- spring mvc 返回json的配置
- [置顶] android开发之动画的详解 整理资料 Android开发程序小冰整理
- 原码 反码 补码
- Java 开发项目管理工具
- 【ORACLE】用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法
- 学习strcat与strcpy
- windows下回车与换行符
- ORA-12154: TNS:could not resolve the connect identifier specified
- 编译MatConvNet window下解决gdiplus库的问题
- Javascript异步数据的同步处理方法
- c++中io流的使用
- [LeetCode]037-Sudoku Solver
- log4j使用记录
- C#中的委托和事件
- 第四十一篇:opencv中相关的训练的问题解答(经典)
- Modernizr.js和yepnode.js