第七周实验报告三

来源:互联网 发布:手机交友网站源码 编辑:程序博客网 时间:2024/05/29 15:01
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:模板类的复数实现 * 作 者: 刘镇 * 完成日期: 2012 年 4月 5 日 * 版 本 号: * 对任务及求解方法的描述部分 * 输入描述: ...... * 问题描述: 用模板将所要做的类及其函数处理 * 程序输出: 复数 * 程序头部的注释结束 */ [cpp] view plaincopy01.#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.}  


运行结果:

原创粉丝点击