八项目1
2014-04-15 09:04
441 查看
/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:王雅萍 *完成日期:2014年4月15日 *版本号:v0.1 *对任务及求解方法的描述部分: *输入描述:无 *问题描述:请用类的友元函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除 *程序输入: *程序输出: *问题分析: *算法设计: *我的程序: */ #include <iostream> using namespace std; class Complex { public: Complex() { real=0; imag=0; } Complex(double r,double i) { real=r; imag=i; } 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); void display(); private: double real; double imag; }; //下面定义成员函数 Complex operator+(Complex &c1,Complex &c2) { return Complex(c1.real+c2.real,c1.imag+c2.imag); } Complex operator-(Complex &c1,Complex &c2) { return Complex(c1.real-c2.real,c1.imag-c2.imag); } Complex operator*(Complex &c1,Complex &c2) { Complex c; c.real=c1.real*c2.real-c1.imag*c2.imag; c.imag=c1.real*c2.imag+c1.imag*c2.real; 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; } void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } //下面定义用于测试的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(); return 0; }
相关文章推荐
- UML及项目管理建模学习心得1
- 【北京招聘】C#项目经理
- 第一个正式投入的开源项目Karrigell
- 项目常用代码1-1
- NDK编译后的文件如何加载到Android项目
- Android开发者必须深入学习的10个应用开源项目
- 项目经理问:为什么总是只有我在加班 – 挂包袱现象
- Unity3D For Mac最新3.4.1版本破解教程分享并将Unity3D项目在iphone上运行
- [企业管理]项目管理的范畴和职能分类——项目是如何崩溃的
- Visual Studio Setup项目“无法在磁盘上找到项‘Microsoft.Net.Framework.3.5.SP1’”的解决方法
- .Net Web项目安装包制作 (二)数据库安装、其他组件的安装
- 【转】GitHub平台最火Android开源项目整理——2013-08-25 17
- 软件项目顾问的20法则
- Android开源项目发现---ActionBar篇(持续更新)
- Android Studio 创建项目常见问题
- SQL Server 可更新订阅中有行筛选的同步复制移除项目而不重新初始化所有订阅!
- 第七周项目三之求某员工一周工资
- android项目两种构建方式的整合(Eclipse/idea和Android Studio)
- tomcat---访问url故意把项目名写错就报404的解决方法
- C/C++开源项目中的100个Bugs