2014-第九周项目一----<<,>>的运算符重载
来源:互联网 发布:用友erpu8软件介绍 编辑:程序博客网 时间:2024/05/17 05:56
/**程序的版权和版本声明部分:*Copyright(c)2014,烟台大学计算机学院学生*All rights reserved.*文件名称:*作者:刘晓晓*完成日期:2014年 04月22号*版本号:v1.0*对任务及求解方法的描述部分:*输入描述: 无*问题描述:实现复数类中的运算符的重载*程序输出:无*问题分析:*算法设计:*/#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&); Complex operator-(); void display();private: double real; double imag;};ostream&operator<<(ostream& output,Complex&c){ output<<"("<<c.real<<"+"<<c.imag<<"i"; return output;}istream&operator>>(istream&input,Complex&c){ cout<<"input real and imag part of Complex number:"; input>>c.real>>c.imag; return input;}Complex Complex::operator-(){ Complex c; c.real=-real; c.imag=-imag; return c;}//下面定义成员函数void Complex:: display(){ cout<<"("<<real<<","<<imag<<"i)"<<endl;}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-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c;}Complex Complex ::operator/(Complex &c2){ Complex c;//复数相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c;}//下面定义用于测试的main()函数int main(){ Complex c1(3,4),c2(5,-10),c3; cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); c3=c1+c2; cout<<"c1+c2="; c3.display(); c3=c1-c2; cout<<"c1-c2="; c3.display(); c3=c1*c2; cout<<"c1*c2="; c3.display(); c3=c1/c2; cout<<"c1/c2="; c3.display(); c3=-c1; cout<<"-c1="; c3.display(); return 0;}
0 0
- 2014-第九周项目一----<<,>>的运算符重载
- 第九周-项目一运算符重载
- 第九周项目一 复数类的运算符重载
- 第九周项目一~~~一目二目运算符重载和<<与>>的重载
- 第九周项目一----实现复数类运算符重载
- 第九周 项目一:定义复数类的<<和>>运算符的重载
- 第九周 项目1--定义一目运算符-和Complex中的<< >>的重载
- 第九周 项目4 一维数组的运算符重载
- 第九周项目一-复数类的中的运算符重载(续)
- 2014年第九周项目一:复数类中的运算符重载(续)
- 第九周项目3-分数类的运算符重载
- 第九周-项目3-分数类的运算符重载
- 第九周任务一 复数 输入输出运算符的重载
- 第九周项目一——Complex类(利用输入输出运算符重载)
- 第九周(项目一)——实现复数类中的运算符重载。
- 第九周 项目一:复数类中的运算符重载(续)
- 第九周项目一: 复数类中的运算符重载(续)
- 第九周——运算符重载——阅读项目(一)学生管理系统
- 为CentOS 6 配置本地YUM源
- jQuery AJAX JSON Example – jQuery.parseJSON(), $.post() & $.getJSON()
- 10个核心的Linux面试问题与答案
- MongoDb 结果漂亮点!
- linux内核配置编译安装(X86)
- 2014-第九周项目一----<<,>>的运算符重载
- 编码社区推荐
- 实际数
- 向左旋转k个字符vs字符串中单词的逆转
- spring MVC笔记4——文件上传
- jQuery中blur和focus事件的应用
- 计算彩色的BGR图像的直方图
- JSON 数据转换
- 关于配置tnsnames来使用PLSQL连接数据库