第九周任务-项目一(输出输入流重载)
2013-05-07 09:11
567 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者:王锴英 * 完成日期: 2013年05月07日 * 版本号: v1.0 * 输入描述:无 * 问题描述:无 * 程序输出:无 */ #include <iostream> #include <Cstring> using namespace std; class Complex { public: Complex( ){real=0;imag=0;} //实现输入输出运算符重载 friend istream& operator>>(istream &cin,Complex&c); friend ostream& operator<<(ostream &cout,Complex&c); //实现加减乘除运算符重载 friend Complex operator+(Complex &c1,Complex &c2); friend Complex operator-(Complex &c1,Complex &c2); friend Complex operator*(Complex &c1,Complex &c2); friend Complex operator/(Complex &c1,Complex &c2); friend istream& operator>>(istream &cin,Complex&c); friend ostream& operator<<(ostream &cout,Complex&c); private: double real; double imag; }; //成员函数的定义 Complex operator+(Complex &c1,Complex &c2) { Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c; } Complex operator-(Complex &c1,Complex &c2) { Complex c; c.real=c1.real-c2.real; c.imag=c1.imag-c2.imag; return c; } Complex operator*(Complex &c1,Complex &c2) { Complex c; c.real=c1.real*c2.real-c1.imag*c2.imag; c.imag=c1.imag*c2.real+c1.real*c2.imag; return c; } Complex operator/(Complex &c1,Complex &c2) { Complex c; c.real=(c1.real/c2.real+c1.imag/c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(c1.imag/c2.real-c1.real/c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c; } //输入输出运算符重载 istream & operator>>(istream&cin,Complex&c) { cout<<"请输入复数的实部与虚部"<<endl; cin>>c.real>>c.imag; return cin; } ostream & operator<<(ostream &cout,Complex&c) { cout<<"("; cout<<c.real; cout<<","<<c.imag<<"i)"<<endl; return cout; } //main函数经行测试 int main( ) { Complex c1,c2,c3; cin>>c1>>c2; cout<<c1<<c2<<endl; c3=c1+c2; cout<<"c1+c2="<<c3<<endl; c3=c1-c2; cout<<"c1-c2="<<c3<<endl; c3=c1*c2; cout<<"c1*c2="<<c3<<endl; c3=c1/c2; cout<<"c1/c2="<<c3<<endl; return 0; }
输出结果:
心得体会:
五一小长假回来之后,有点不太适应,放的时间有点长 ...
相关文章推荐
- 第九周任务一(定义Complex类中的<<和>>运算符的重载,实现输入和输出)
- 第九周【项目1】在第8周项1的基础上(1)再定义一目运算符 -,-c相当于0-c(2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然
- 第九周 C++任务一。定义Complex类中的<<和>>运算符的重载,实现输入和输出
- 《C++第九周实验报告1-1》--------接第8周任务1,定义Complex类中的<<和>>运算符的重载,实现输入和输出
- 第九周试验任务1--定义Time类中的<<和>>运算符的重载,实现输入和输出。
- 第九周实验任务二--定义Complex类中的<<和>>运算符的重载,实现输入和输出,使程序读起来更自然
- C++第九周【任务一】定义Complex类中的<<和>>运算符的重载,实现输入和输出
- 《第九周任务一》定义Complex类中的《《和》》运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然
- 第九周实验报告 任务2 定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- 第九周上机任务项目2-Time类
- 第十七周上机任务-项目1(2)从大到小输出三个整数-(采用传递地址值的方法)
- 第九周项目三输出星号图b
- 第九周项目四:输出乘法口诀表
- 第九周项目3-输出星号图
- 第九周项目四输出一个乘法口诀
- 第九周项目三输出星号图(a)
- 第九周项目四 输出九九表
- 第九周项目三之输出星号图f
- 第8周项目1:任务1:用类的成员函数完成运算符的重载
- 第九周实验报告任务 1 定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。