第8周项目1(2)实现复数类中的运算符重载(友元函数)
来源:互联网 发布:外媒特朗普访华 知乎 编辑:程序博客网 时间:2024/05/18 18:41
/*。*Copyright(c)2014,烟台大学计算机学院*All right reserved,*文件名:test.cpp*作者:毕玉堂*完成日期:2015年5月7日*版本号:v1.0*问题描述:*输入描述:*程序输出:*/#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){ return Complex(c1.real*c2.real-c1.imag*c2.imag,c1.imag*c2.real+c1.real*c2.imag);}Complex operator/(Complex &c1,Complex &c2){ return Complex(((c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag)),((c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag)));}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;}
运行结果:
0 0
- 第8周项目1-实现复数类中的运算符重载(友元函数)
- 第8周项目1(2)实现复数类中的运算符重载(友元函数)
- 第12周项目-复数类中的运算符重载(2)(友元函数)
- 第12周项目1-实现复数类中的运算符重载(友元)
- 第8周项目一-实现复数类中的运算符重载(利用类的友元函数)
- 第7周项目2-实现复数类中的运算符重载(2、友元函数)
- 第八周 项目一 (2) 实现复数类中的运算符重载 友元函数
- 第八周 项目一-复数类中的运算符重载(2)友元函数实现
- 第十二周项目1-实现复数类中的运算符重载(1.2友元函数)
- 第8周项目1(2)—用友元函数实现复数类运算符重载
- 第八周项目1——2 实现复数类中的运算符重载(友元函数)
- 第八周项目1-2:实现复数类中的运算符重载-友元函数
- 第十二周项目1.2—实现复数类中的运算符重载(友元函数)
- 第十二周项目1.2—实现复数类中的运算符重载(友元函数)
- 第7周项目2-实现复数类中的运算符重载(1、成员函数)
- 第8周项目1.2 类的友元函数实现复数类中的运算符重载
- 第二学期第八周项目1--实现复数类中的运算符重载(两个复数的运算友元)
- 第7周-项目1-实现复数类中的运算符重载-类的友元函数
- 使用字段的值作为数组下标
- Go语言标准库Json的使用.
- 待解决问题集锦
- 【contentprovider系列5】修改联系人信息
- LeetCode143之ReorderList的Java题解
- 第8周项目1(2)实现复数类中的运算符重载(友元函数)
- WebRTC代码走读(六):视频发送流程
- Android数据存储(2)——SharedPreferences
- 关于matlab中的手写字体识别 的mat文件
- google-hack相关的python脚本
- Linux应用程序之信号量
- linux命令学习笔记
- 【VR】Leap Motion 官方脚本手册翻译之---HandController(手型控制器)
- 二叉树的建立和递归遍历、非递归遍历操作