第九周项目一 复数问题 增加一目- 与重载<<和>>
来源:互联网 发布:旅游网站实时数据来源 编辑:程序博客网 时间:2024/06/05 08:08
问题及代码
ALL rights reserved.
*文件名称: 初学对象6
作者:李长鸿
*完成时间:2015.513
*问题描述: 复数问题
*/
<pre class="cpp" name="code">#include<iostream>using namespace std;class Complex{public: Complex() { real=0; imag=0; } Complex(double r,double i) { real=r; imag=i; } Complex operator-(int) { return Complex(0-real,0-imag); } friend Complex operator+(const Complex &c1,const Complex c2); friend Complex operator-(const Complex &c1,const Complex c2); friend Complex operator*(const Complex &c1,const Complex c2); friend Complex operator/(const Complex &c1,const Complex c2); friend Complex operator+(const Complex &c1,const double d); friend Complex operator-(const Complex &c1,const double d); friend Complex operator*(const Complex &c1,const double d); friend Complex operator/(const Complex &c1,const double d); friend istream &operator>>(istream &in,const Complex &c1); friend ostream &operator<<(ostream &out,const Complex &c1);private: double real; double imag;};//下面定义成员函数Complex operator+(const Complex &c1,const Complex c2){ return Complex(c1.real+c2.real,c1.imag+c2.imag);}Complex operator-(const Complex &c1,const Complex c2){ return Complex(c1.real-c2.real,c1.imag-c2.imag);}Complex operator*(const Complex &c1,const Complex c2){ return Complex(c1.real*c2.real,c1.imag*c2.imag);}Complex operator/(const Complex &c1,const Complex c2){ return Complex(c1.real/c2.real,c1.imag/c2.imag);}Complex operator+(const Complex &c1,const double d){ return Complex(c1.real+d,c1.imag);}Complex operator-(const Complex &c1,const double d){ return Complex(c1.real-d,c1.imag);}Complex operator*(const Complex &c1,const double d){ return Complex(c1.real*d,c1.imag);}Complex operator/(const Complex &c1,const double d){ return Complex(c1.real/d,c1.imag);}ostream& operator<<(ostream &out,const Complex &c1){ out<<"("<<c1.real; if(c1.imag>=0)out<<"+"; out<<c1.imag<<"i)"<<endl; return out;}//下面定义用于测试的main()函数int main(){ Complex c1(3,4),c2(5,-10),c3; cout<<"-c1="<<c1-4<<"-c2="<<c2-1; cout<<"c1="<<c1; cout<<"c2="<<c2; cout<<"c1+c2="<<c1+c2; cout<<"c1-c2="<<c1-c2; cout<<"c1*c2="<<c1*c2; cout<<"c1/c2="<<c1/c2; cout<<endl; double d=7.77; Complex c(7,7); cout<<"c="<<c1; cout<<"d="<<d<<endl; cout<<"c+d="<<c+d; cout<<"c-d="<<c-d; cout<<"c*d="<<c*d; cout<<"c/d="<<c/d; return 0;}
总结:声明时不是少写&就是少写<<或>>,磕磕绊绊总是不会再少写了
0 0
- 第九周项目一 复数问题 增加一目- 与重载<<和>>
- 第九周项目一----实现复数类运算符重载
- 第九周项目一 复数类的运算符重载
- 第九周 项目一:定义复数类的<<和>>运算符的重载
- 第九周 项目一 复数类
- 第九周项目一~~~一目二目运算符重载和<<与>>的重载
- 第九周(项目一)——实现复数类中的运算符重载。
- 第九周 项目一:复数类中的运算符重载(续)
- 第九周项目一: 复数类中的运算符重载(续)
- 第九周项目一——复数类中的运算符重载(续)
- 第九周——运算符重载——项目一复数类(续)
- 第九周 项目一-复数类中的运算符重载(续)
- 15第九周项目一——复数类中的运算符重载(续)
- 第九周项目一--复数类中的运算符重载(续)
- 第九周 课后实践:项目一——复数类中的运算符重载(续)
- 第九周项目一复数类中的运算符重载(续)(1)
- 第九周项目一复数类中的运算符重载(续)(2)
- 第九周项目一 复数类中的运算符重载(续)
- android获取内置和外置SD卡路径
- 内核中的static inline
- 第8周项目3-分数类的运算符重载(续)
- 第九周 【项目2-Time类中的运算符重载(续)】
- Rust猜数字之处理猜测
- 第九周项目一 复数问题 增加一目- 与重载<<和>>
- 运载符重载(友元函数)
- 2015年第九周项目一:复数类中的运算符重载(续)(2)
- 第9周项目1-复数类中的运算符重载(续)
- source insight 的一些快捷键
- 第九周项目4 我的向量类
- 玩命牛的成长记录(十七)——建库
- 黑马程序员——第一章 Java开发前奏
- 2015.5.13复数类的运算符重载(续)