第七周 任务三

来源:互联网 发布:淘宝标题优化技巧软件 编辑:程序博客网 时间:2024/05/19 05:06
/* 实验内容:【任务3】阅读P314的例10.1(电子版的在平台上见txt文件)。该例实现了一个复数类,但是美中不足的是,复数类的实部和虚部都固定是double型的。可以通过模板类的技术手段,设计Complex,使实部和虚部的类型为定义对象时用的实际类型。(1)要求类成员函数在类外定义。(2)在此基础上,再实现减法、乘法和除法 * 程序的版权和版本声明部分  * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved.  * 文件名称: 练习使用类模板                             * 作    者:  薛广晨                             * 完成日期:  2012       年  4    月  1      日  * 版 本号:  x1.0           * 对任务及求解方法的描述部分  * 输入描述:练习使用类模板* 程序头部的注释结束(此处也删除了斜杠)  */#include <iostream>using namespace std;template<class numtype>class Complex   {public:Complex( ){real = 0; imag = 0;}     Complex(numtype r, numtype i){real = r; imag = i;} Complex complex_add(Complex &c2); void display( );   private:numtype real; numtype imag; };template<class numtype>Complex<numtype> Complex<numtype> :: complex_add(Complex &c2){Complex c;c.real = real + c2.real;c.imag = imag + c2.imag;return c;}  template<class numtype>void Complex<numtype> :: display( )    {cout << "(" << real << "," << imag << "i)" << endl;}int main( ){Complex<int> c1(3, 4), c2(5, -10), c3;  c3 = c1.complex_add(c2);  cout << "c1+c2="; c3.display( );  Complex<double> c4(3.1, 4.4),c5(5.34, -10.21), c6;  c6 = c4.complex_add(c5);  cout << "c4+c5="; c6.display( ); system("pause");return 0;}

上机感言:类模板很好用,省去了很多的重复的步骤,省力又好用,何乐而不为啊
原创粉丝点击