第七周项目四——复数模板类

来源:互联网 发布:windows更新后c盘变小 编辑:程序博客网 时间:2024/06/05 08:45
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者:杨晨 * 完成日期: 2013年4 月 15 日 * 版本号: v1.0 * 输入描述:无 * 问题描述:无 * 程序输出:无 */  #include<iostream>#include<stdlib.h>using namespace std;template <class X>class Complex{ public: Complex(){real=0;imag=0;} Complex(X r,X i){real=r;imag=i;} Complex complex_add(Complex &c2); Complex complex_minus(Complex &c2); Complex complex_multiply(Complex &c2); void display(); private: X real; X imag;};template<class X>Complex<X> Complex<X>::complex_add(Complex<X> &c2){    Complex<X> b;    b.real=real+c2.real;    b.imag=imag+c2.imag;    return b;}template<class X>Complex<X> Complex<X>::complex_minus(Complex<X> &c2){    Complex<X> b;    b.real=real-c2.real;    b.imag=imag-c2.imag;    return b;}template<class X>Complex<X> Complex<X>::complex_multiply(Complex<X> &c2){    Complex<X> b;   b.real=real*c2.real-imag*c2.imag;   b.imag=imag*c2.real+real*c2.imag;    return b;}template<class X>void Complex<X>::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();    c6=c4.complex_minus(c5);    cout<<"c4-c5=";    c6.display( );    c6=c4.complex_multiply(c5);    cout<<"c4*c5=";    c6.display( );system("pause");return 0;}

输出结果:


原创粉丝点击