第6周项目5复数模板类
来源:互联网 发布:离散数学公开课 知乎 编辑:程序博客网 时间:2024/04/30 17:10
#include <iostream>using namespace std;template <class T>class Complex{public: Complex( ) { real=0; imag=0; } Complex(T a,T b) { real=a; imag=b; } Complex complex_add(Complex &c); Complex complex_minus(Complex &c); Complex complex_multiply(Complex &c); Complex complex_divide(Complex &c); void display();private: T real; T imag;};template <class T>Complex<T> Complex<T>::complex_add(Complex<T> &c){ Complex<T> a; a.real=real+c.real; a.imag=imag+c.imag; return a;}template <class T>Complex<T> Complex<T>::complex_minus(Complex<T> &c){ Complex<T> b; b.real=real-c.real; b.imag=imag+c.imag; return b;}template <class T>Complex<T> Complex<T>::complex_multiply(Complex<T> &c1){ Complex <T> c; c.real=real*c1.real-imag*c1.imag; c.imag=imag*c1.real+real*c1.imag; return c;}template <class T>Complex<T> Complex<T>::complex_divide(Complex<T> &c2){ Complex<T> c; T d=c2.real*c2.real+c2.imag*c2.imag; c.real=(real*c2.real+imag*c2.imag)/d; //此处有危险未排除:除法溢出 c.imag=(imag*c2.real-real*c2.imag)/d; return c;}template<class T>void Complex<T>::display(){ cout<<'('<<real<<','<<imag<<')'<<endl;}int main( ){ Complex<int> c1(3,4),c2(5,-10),c3; //实部和虚部是int型 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; Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6; //实部和虚部是double型 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;}
0 0
- 第5周-项目6-复数模板类
- 第5周项目6-复数类模板
- 第6周项目5复数模板类
- 第6周项目6--复数模板类-友元
- 第6周项目6-2,3复数模板类
- 第6周项目6-3复数模板类
- 第6周项目6-复数模板类
- 第6周项目6-复数模板类(1)
- 第6周项目6-复数模板类(2)
- 第5周项目5-复数类模板
- C++第7周(春)项目5 复数模板类
- 第5周-项目6-复数模板类-友元函数
- 2015年大一下第5周项目6-复数模板类(2)复数模板类友元函数
- 第六周【项目6-复数模板类】
- 第六周【项目6-复数模板类】
- 第六周 【项目6-复数模板类】
- 第六周项目6-复数模板类
- 第六周项目6-复数模板类
- 从找零到人民币面额设计
- 开源中国的 IT 公司开源软件整理计划介绍
- 抗生素是否可以治疗咽炎
- INNODB 重要优化设置【解决慢卡的问题】
- 简单工厂模式详解
- 第6周项目5复数模板类
- windows下apache如何完整卸载
- try和finally中的return
- 设计模式之访问者
- 样式属性
- 第六周项目一 深复制体验3
- 耳膜穿孔案例
- Android知识点记录(1)
- 如何使用Log4j