问题及代码
ALL rights reserved.
*文件名称: 初学对象6
作者:李长鸿
*完成时间:2015.4.15
*问题描述: 阅读程序
*/
#include <iostream>
using namespace std;
template<class T>
class Complex
{
T x,y;
public:
Complex(T,T);
Complex<T> complex_add(Complex &q);
Complex<T> complex_minus(Complex &q);
Complex<T> complex_multiply(Complex &q);
Complex<T> complex_divide(Complex &q);
T display();
};
template<class T>
Complex<T>::Complex(T i=0,T j=0)
{
x=i;
y=j;
}
template<class T>
Complex<T> Complex<T>::complex_add(Complex<T> &q)
{
Complex s;
s.x=q.x+x;
s.y=q.y+y;
return s;
}
template<class T>
Complex<T> Complex<T>::complex_minus(Complex<T> &q)
{
Complex s;
s.x=x-q.x;
s.y=y-q.y;
return s;
}
template<class T>
Complex<T> Complex<T>::complex_multiply(Complex<T> &q)
{
Complex s;
s.x=q.x*x;
s.y=q.y*y;
return s;
}
template<class T>
Complex<T> Complex<T>::complex_divide(Complex<T> &q)
{
Complex s;
s.x=x/q.x;
s.y=y/q.y;
return s;
}
template<class T>
T Complex<T>::display()
{
cout<<"("<<x<<",";
cout<<y<<"i"<<")"<<endl;
}
int main( )
{
Complex<int> c1(3,4),c2(5,-10),c3;//实部和虚部是int型
cout<<"c1=";
c1.display( );
cout<<"c2=";
c2.display( );
c3=c1.complex_add(c2);
cout<<"c1+c2=";
c3.display( );
c3=c1.complex_minus(c2);
cout<<"c1-c2=";
c3.display( );
c3=c1.complex_multiply(c2);
cout<<"c1*c2=";
c3.display( );
c3=c1.complex_divide(c2);
cout<<"c1/c2=";
c3.display( );
cout<<endl<<endl;
Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6;//实部和虚部是double型
cout<<"c4=";
c1.display( );
cout<<"c5=";
c2.display( );
c6=c4.complex_add(c5);
cout<<"c4+c5=";
c6.display( );
c6=c4.complex_minus(c5);
cout<<"c4-c5=";
c6.display( );
c6=c4.complex_multiply(c5);
cout<<"c4*c5=";
c6.display( );
c6=c4.complex_divide(c5);
cout<<"c4/c5=";
c6.display( );
return 0;
}
总结:这个只要记格式规则就感觉应该差不多了。有点麻烦,老是记不太住。。。