码迷,mamicode.com
首页 > 其他好文 > 详细

template

时间:2015-12-19 23:15:14      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include <iostream>
 2 using namespace std;
 3 
 4 template <typename T1, typename T2>
 5 class complex
 6 {
 7 public:
 8     T1 real;
 9     T2 imag;
10     complex();
11     complex(T1 r, T2 i);
12     complex(const complex<T1, T2> &R);
13     complex &operator=(const complex<T1, T2> &R);
14 };
15 
16 template <typename T1, typename T2> complex<T1, T2>::complex():real(0),imag(0)
17 {
18 }
19 
20 template <typename T1, typename T2> complex<T1, T2>::complex(T1 r, T2 i)
21 {
22     real = r;
23     imag = i;
24 }
25 
26 template <typename T1, typename T2> complex<T1, T2>::complex(const complex<T1, T2> &R)
27 {
28     real = R.real;
29     imag = R.imag;
30 }
31 
32 template <typename T1, typename T2> complex<T1, T2> &complex<T1, T2>::operator=(const complex<T1, T2> &R)
33 {
34     real = R.real;
35     imag = R.imag;
36     return *this;
37 }
38 
39 template <typename T1, typename T2> ostream &operator<<(ostream &out, const complex<T1, T2> &R)
40 {
41     out<<"real:"<<R.real<<"   imag:"<<R.imag;
42     return out;
43 }
44 
45 template <typename T1, typename T2> complex<T1, T2> operator+(const complex<T1, T2> &L, const complex<T1, T2> &R)
46 {
47     complex<T1, T2> sum;
48     sum.real = L.real + R.real;
49     sum.imag = L.imag + R.imag;
50     return sum;
51 }
52 
53 int main()
54 {
55     complex<int, int> a(2,3), b(3, 2);
56     complex<int, int> c = a + b;
57     cout<<c<<endl;
58 }

 

template

标签:

原文地址:http://www.cnblogs.com/yangzhouyyz/p/5059898.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!