第12周项目1—实现复数类的运算符重载——3
来源:互联网 发布:什么是数据猿 编辑:程序博客网 时间:2024/05/03 10:40
/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称 :*作 者 : 徐聪*完成日期 : 2016年5月24号*版 本 号 : v6.0**问题描述 : 实践项目一——实现复数类的运算符重载*输入描述 : 无*程序输出 :*/#include<iostream>using namespace std;class Complex{public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator+(const double &d); friend Complex operator+(const double &d,const Complex &c); friend Complex operator+(const Complex &c1,const Complex &c2); friend Complex operator-(const Complex &c1,const Complex &c2); friend Complex operator*(const Complex &c1,const Complex &c2); friend Complex operator/(const Complex &c1,const Complex &c2); void display();private: double real; double imag;} ;//下面定义成员函数Complex operator+(const double &d,const Complex &c){ return Complex(c.real+d,c.imag);}Complex operator+(const Complex &c1,const Complex &c2){ return Complex(c1.real+c2.real,c1.imag+c2.imag);}Complex operator-(const Complex &c1,const Complex &c2){ return Complex(c1.real-c2.real,c1.imag-c2.imag);}Complex operator*(const Complex &c1,const Complex &c2){ return Complex(c1.real*c2.real-c1.imag*c2.imag,c1.real*c2.imag+c1.imag*c2.real);}Complex operator/(const Complex &c1,const Complex &c2){ return Complex((c1.real*c2.real+c1.imag*c2.imag)/(c2.imag*c2.imag+c2.real*c2.real),(-c1.real*c2.imag+c1.imag*c2.real)/(c2.imag*c2.imag+c2.real*c2.real));}void Complex::display(){ cout<<"("<<real<<","<<imag<<"i)"<<endl;}Complex Complex::operator+(const double &d){ return Complex(this->real+d,imag);}//下面定义用于测试的main()函数int main(){ Complex c1(3,4),c2(5,-10),c3; double d; 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(); cin>>d; c3=d+c3; c3.display(); c3=c3+d; c3.display(); return 0;}
运行结果
0 0
- 第12周项目1—实现复数类的运算符重载——3
- 第12周项目1——实现复数类的运算符重载
- 第12周项目1—实现复数类的运算符重载 (1)
- 第12周项目1—实现复数类中的运算符重载 (3)
- 第12周项目——实现复数类中的运算符重载3
- 第12周项目1—实现复数类中的运算符重载 (2)
- 第12周项目1实现复数类的运算符重载3
- 第八周项目1——3 实现复数类中的运算符重载(实数与复数的计算)
- 第12周项目1-实现复数类中的运算符重载-3
- 第12周项目-1实现复数类中的运算符重载 (3)
- 2013级C++第8周(春)项目——运算符重载 【项目1】实现复数类中的运算符重载
- 第12周项目1-复数类的运算符重载(3)使用一般函数
- 第八周项目1-3:实现复数类中的运算符重载-完整的复数类
- 第8周项目1(2)—用友元函数实现复数类运算符重载
- 第9周项目1——复数类中的运算符重载(续)
- 第7周-项目1-实现复数类中的运算符重载-类的成员函数
- 第8周项目1-实现复数类中的运算符重载(完整的类)
- 第12周项目1-实现复数类中的运算符重载1
- hdu1151Air Raid(最小路径)
- jenkinsCI初探(推荐阅读)
- 数据仓库概述
- 算法之------错排问题
- JavaScript数组的栈方法与队列方法
- 第12周项目1—实现复数类的运算符重载——3
- SDAU练习三1017
- HttpServletRequestWrapper Filter中装饰Request 解决全站编码问题!
- ECharts学习-柱状图
- Maven聚合与继承
- GitHub 排名前 100 的安卓、iOS项目简介
- Python项目之画幅好画
- 第八周 项目4-指向学生类的指针
- Java课程设计------俄罗斯方块(Tetris)