第七周实验报告三

/* (程序头部注释开始)
 * 程序的版权和版本声明部分
 * Copyright (c) 2012, 烟台大学计算机学院学生 
 * All rights reserved.
 * 文件名称:模板类的复数实现
 
* 作 者: 刘镇
 * 完成日期: 2012 年 4月 5 日
 * 版 本 号:
 * 对任务及求解方法的描述部分
 * 输入描述: ......
 
* 问题描述: 用模板将所要做的类及其函数处理
 
* 程序输出: 复数
 
* 程序头部的注释结束
 */
 


[cpp] view plaincopy
01.#include <iostream>  
02.  
03.using namespace std;  
04.  
05.template<class type>  
06.  
07.class Complex     
08.{  
09.public:      
10.    Complex( ){real=0;imag=0;}    
11.    Complex(type r, type i){real = r; imag = i;}   
12.    Complex complex_add(Complex &c2);   
13.    void display( );     
14.private:  
15.    type real;   
16.    type imag;   
17.};  
18.  
19.template<class type>                                     //每次定义都必须写  
20.  
21.Complex<type> Complex<type>::complex_add(Complex<type> &c2)     //模板类的对象做返回值!  
22.{  
23.    Complex<type> c;  
24.  
25.    c.real = real + c2.real;  
26.  
27.    c.imag = imag + c2.imag;  
28.  
29.    return c;  
30.}  
31.  
32.template<class type>  
33.  
34.void Complex<type>::display( )   //模板类一定要清楚的写出,而返回值是void  
35.{  
36.    cout << "(" << real << "," << imag << "i)" << endl;  
37.}  
38.  
39.int main( )  
40.{     
41.    Complex<int> c1(3, 4), c2(5, -10), c3;    
42.  
43.    c3 = c1.complex_add(c2);     
44.  
45.    cout << "c1+c2=";   
46.  
47.    c3.display( );  
48.  
49.    Complex<double> c4(3.1, 4.4), c5(5.34, -10.21), c6;   
50.  
51.    c6 = c4.complex_add(c5);   
52.  
53.    cout << "c4+c5=";   
54.  
55.    c6.display( );   
56.  
57.    system("pause");  
58.  
59.    return 0;  
60.}  


运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值