第七周实验报告 任务三

来源:互联网 发布:免费ftp同步软件 编辑:程序博客网 时间:2024/05/29 18:44

源程序:

#include <iostream>using namespace std;template<class T>class Complex   {public:Complex( ){real=0;imag=0;}     Complex(T r,T i){real=r;imag=i;} Complex complex_add(Complex &c2); Complex complex_sub(Complex &c2); Complex complex_mul(Complex &c2); Complex complex_div(Complex &c2); void display( );   private:T real; T imag; };template<class T>Complex<T> Complex<T>::complex_add(Complex &c2){Complex c;c.real = real + c2.real;c.imag = imag + c2.imag;return c;}   template<class T>Complex<T> Complex<T>::complex_sub(Complex &c2){Complex c;c.real = real - c2.real;c.imag = imag - c2.imag;return c;}   template<class T>Complex<T> Complex<T>::complex_mul(Complex &c2){Complex c;c.real = real * c2.real;c.imag = imag * c2.imag;return c;}   template<class T>Complex<T> Complex<T>::complex_div(Complex &c2){Complex c;c.real = real / c2.real;c.imag = imag / c2.imag;return c;}   template<class T>void Complex<T>::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(); Complex<double> c7(4.8, -3.2), c8(2.4, 1.6), c9;  c9 = c7.complex_sub(c8);cout << "c7 - c8 = ";c9.display();Complex<int> c10(2, -3), c11(2, 1), c12;  c12 = c10.complex_mul(c11);cout << "c10 * c11 = ";c12.display();Complex<double> c13(4.8, -3.2), c14(2.4, 1.6), c15;  c15 = c13.complex_div(c14);cout << "c13 / c14 = ";c15.display();system("pause");return 0;}


截图:

 

类模板···模板类···有点纠结···不太明白在类外定义成员函数时的方法···听贺老讲解后好点了···应该是做的太少的缘故吧···贺老···不要慈悲为怀啦!!!

原创粉丝点击