第八周任务1方案2
2012-04-08 20:38
183 查看
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: * 作 者: 王明星 * 完成日期: 2012 年4 月 8 日 * 版 本 号: * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: * 程序头部的注释结束 */ #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 &c3,Complex &c2); friend Complex operator-(Complex &c3,Complex &c2); friend Complex operator*(Complex &c3,Complex &c2); friend Complex operator/(Complex &c3,Complex &c2); void display(); private: double real; double imag; }; //下面定义成员函数 Complex operator+(Complex &c2,Complex &c3) { Complex a; a.real=c2.real+c3.real; a.imag=c2.imag+c3.imag; return a; } Complex operator-(Complex &c2,Complex &c3) { Complex a; a.real=c3.real-c2.real; a.imag=c3.imag-c2.imag; return a; } Complex operator*(Complex &c2,Complex &c3) { Complex a; a.real=c3.real*c2.real-c3.imag*c2.imag; a.imag=c2.imag*c3.real+c2.real*c3.imag; return a; } Complex operator/(Complex &c3,Complex &c2) { Complex a; a.real=(c3.real*c2.real+c3.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); a.imag=(c3.imag*c2.real+c2.imag*c3.real)/(c2.real*c2.real+c2.imag*c2.imag); return a; } void Complex::display() { cout<<"("<<real<<","<<imag<<"i"<<")"<<endl; } 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(); system("pause"); return 0; }
上机感言:运算符重载使得自定义的数据类型功能跟强大了,让类的对象可以直接进行运算了,呵呵呵,这样不仅直观而且方便!
相关文章推荐
- 第八周 任务一 方案一
- 第八周实验报告(任务1-方案1)
- 第八周任务1:方案二:请用类的友元函数,而不是成员函数,完成上面提及的运算符的重载;
- 第八周实验报告(任务1-方案2)
- 第八周任务1方案一
- 第八周作业任务一(1)方案一
- 第八周实验报告(任务1-方案3)
- 第八周作业任务一方案三
- 第八周作业任务一方案二
- 第八周项目一任务1——实现复数类中的运算符重载
- 2013第八周上机任务【项目3-分数类中的运算符重载】
- 第八周任务
- c#并行任务多种优化方案分享(异步委托)
- SunRay4(新蕾4) 定时自动关机方案, Linux后台自动任务crontab实践
- 某定时任务系统的方案设计------软件系统设计能力很重要
- 第八周任务一:继承的练习
- C++ 第八周任务-关于圆的计算2
- 解密名字(第八周上机任务)
- C#--第八周实验--任务5和7--实验DateTime类和TimeSpan类,并实验string类各种方法
- 第八周任务一(运算符重载函数作为类成员函数和有员函数及其他)