第九周 1-1 定义COMPLEX类

来源:互联网 发布:西班牙历史 知乎 编辑:程序博客网 时间:2024/05/17 22:52
/*
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:定义COMPLEX类,实现分数的输入输出,改造源程序中对运算结果显示方式,使程序读起来更自然
* 作    者:  张启立                         
* 完成日期:  2012年 4 月 16 日
* 版 本 号: 9-1-1        
 
* 对任务及求解方法的描述部分
* 代码实现
#include<iostream>using namespace std;class Complex{public:Complex(){real = 0;imag = 0;}Complex(double r,double i){real = r;imag = i;}Complex operator+(Complex &c2);Complex operator-(Complex &c2);Complex operator*(Complex &c2);Complex operator/(Complex &c2);friend ostream& operator << (ostream&,Complex&);//声明重载运算符“<<”函数friend istream& operator >> (istream&,Complex&);//声明重载运算符“>>”函数private:double real;double imag;};//下面定义成员函数Complex Complex::operator+(Complex &c2){Complex c;c.real = real + c2.real;c.imag = imag + c2.imag;    return c;}Complex Complex::operator-(Complex &c2){Complex c;c.real = real - c2.real;c.imag = imag - c2.imag;    return c;}Complex Complex::operator*(Complex &c2){Complex c;c.real = real * c2.real;c.imag = imag * c2.imag;    return c;}Complex Complex::operator/(Complex &c2){Complex c;c.real = real / c2.real;c.imag = imag / c2.imag;    return c;}ostream& operator << (ostream&output,Complex&c){if(c.imag > 0)    {output << "(" << c.real << "+" << c.imag << "i)" << endl;}else    {output << "(" << c.real << c.imag << "i)" << endl;}return output;}istream &operator >> (istream &input,Complex &c){cout << "请输入要输入的复数:";input >> c.real >> c.imag;return input;}int main(){Complex c1, c2, c3;cin >> c1 >> c2;cout << "c1="<< c1;cout << "c2="<< c2;c3 = c1 + c2;cout << "c1+c2=" << c3;c3 = c1 - c2;cout << "c1-c2=" << c3;c3 = c1 * c2;cout << "c1*c2=" << c3;c3 = c1 / c2;cout << "c1/c2=" << c3;system("pause");return 0;}

原创粉丝点击