#include <iostream> #include <cmath> using namespace std; template <class numtype> class Comple { private: numtype real; numtype imag; public: Comple(){real = 0;imag = 0;} Comple(numtype r,numtype i){real = r;imag = i;} Comple Comple::add(Comple &c2) { Comple c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } Comple Comple:: subtract(Comple &c2) { Comple c; c.real=real-c2.real; c.imag=imag-c2.imag; return c; } Comple Comple:: multiply(Comple &c2) { Comple c; c.real=real*c2.real; c.imag=imag*c2.imag; return c; } Comple Comple:: divide(Comple &c2) { Comple c; c.real=real/c2.real; c.imag=imag/c2.imag; return c; } void display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } }; int main() { Comple<int> c1(3,4); Comple<int>c2(5,-10); Comple<int>c3; c3=c1.add(c2); cout<<"c1+c2="; c3.display( ); c3=c1.subtract(c2); cout<<"c1-c2="; c3.display( ); c3=c1.multiply(c2); cout<<"c1*c2="; c3.display( ); c3=c1.divide(c2); cout<<"c1/c2="; c3.display( ); Comple<double> c4(3.1,4.4); Comple<double>c5(5.34,-10.21); Comple<double>c6; c6=c4.add(c5); cout<<"c4+c5="; c6.display( ); system("pause"); return 0; }
在这个题目中,我看到类模板中,模板的的基本格式很重要,需要谨慎对待。
第七周任务(3)
最新推荐文章于 2022-08-01 08:42:40 发布