第八周 【项目1-实现复数类中的运算符重载】友元函数
来源:互联网 发布:华润网络offer 编辑:程序博客网 时间:2024/05/22 06:46
问题描述:
(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){ 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;}void Complex::display(){ cout<<real<<"+"<<imag<<"i\n";}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
- 第八周 【项目1-实现复数类中的运算符重载】友元函数
- 第八周项目1-2:实现复数类中的运算符重载-友元函数
- 第八周 项目一 (2) 实现复数类中的运算符重载 友元函数
- 第八周 项目一-复数类中的运算符重载(2)友元函数实现
- 第八周 项目1-用友元函数实现复数类中的运算符重载
- 第二学期第八周项目1--实现复数类中的运算符重载(两个复数的运算友元)
- 第八周项目1-实现复数类中的运算符重载(类的友元函数)
- 第八周项目1 实现复数类中的运算符重载 (用类的友元函数)
- 2013第八周上机任务【项目1 实现复数类中的运算符重载(友元函数)】
- 第八周项目1——2 实现复数类中的运算符重载(友元函数)
- 第八周上机实践项目1-实现复数类中的运算符重载(友元函数)
- 第八周 项目1.2 用友元函数实现复数类中的运算符重载
- 第八周项目一 2用友元函数实现复数类中的运算符重载
- 第八周项目一 实现复数类中的运算符重载-(2)用友元函数实现(1)
- 第八周-项目一-复数类中的运算符重载(友元函数)
- 第八周项目一(2):实现复数类中的运算符重载:类的友元函数
- 第八周 项目一(2):实现复数类中的运算符重载(友元函数)
- 15第八周项目一——实现复数类中的运算符重载(友元函数)
- HTTP协议详解
- 关于json的总结
- Matlab安装支持向量机(libsvm插件)
- Assigning to ‘id<UIWebViewDelegate>’ from incompatible type 'xxxViewController *const __strong'
- Hash存储机制 - HashMap原理 HashSet原理
- 第八周 【项目1-实现复数类中的运算符重载】友元函数
- hdu 2073
- 小马哥---高仿三星n9100刷机 n910f 拆机主板详图与开机界面图 多图展示 版本众多
- java中nextLine()和next()的区别
- ASP.NET MVC中使用OutputCache实现服务器端页面级缓存注意问题
- C++中char* const char* string 之间的转换复习
- TL-WR720N与OpenWrt(一)
- Python之《机器学习系统设计》第二章
- Eclipse4.4安装旧版本插件报错 Failed to prepare partial IU