第八周项目一(2)友元函数对运算符的重载
2014-04-15 09:30
309 查看
01./* 02.*程序的版权和版本声明部分: 03.*Copyright(c)2013,烟台大学计算机学院学生 04.*All rights reserved. 05.*文件名称: 06.*作者: 07.*完成日期:2014年4月15日 08.*版本号:v0.1 09.*对任务及求解方法的描述部分: 10.*输入描述:无 11.*问题描述: 12.*程序输入: 13.*程序输出: 14.*问题分析: 15.*算法设计: 16.*/ #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.real+c1.imag*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; } 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; }
我擦。。第一次没发表成功。。。还没草稿。。。坑爹的网络。。。。
相关文章推荐
- MYsqL安装出现的问题
- gdb调试命令使用
- SAS笔记
- PHP加密解密函数
- 光流法
- 中国最主要的编程网站(100个)来自百度文库
- Mapreduce之序列化框架(转自http://blog.csdn.net/lastsweetop/article/details/9376495)
- 【转】Visual studio 快捷键大全
- PAT 1075. PAT Judge (模拟题)
- 同一个世界同一个梦想
- 重装windows764 位后后如何将apache mysql加入系统服务
- LuaInterface用户手册
- 利用POI在Excel文档任意单元格写入数据
- Python Excel 导入导出【转】
- #import,#pragma comment, loadLibrary" 三种引入dll的方式都分别在什么时候使用
- Android程序使用代码的安装和卸载
- 初识spring boot maven管理--属性文件配置
- 二项堆(二)之 C++的实现
- delphi7 dbgrid中加入COMBOBOX
- EL 表达式小结 (Express Language)