第8周项目1-实现复数类中的运算符重载(完整的类)
来源:互联网 发布:大数据工程师累吗 编辑:程序博客网 时间:2024/04/27 18:49
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:梁璨 * 完成日期:2015 年 4 月 29 日 * 版 本 号:v1.0 * * 问题描述:定义一个定义完整的类(是可以当作独立的产品发布,成为众多项目中的“基础工程”)。这样的类在(2)的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算。设Complex c;double d; c+d和d+c的结果为“将d视为实部为d的复数同c相加”,其他-、*、/运算符类似。* 输入描述: ;* 程序输出: 。
#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+(double d,Complex &c2); friend Complex operator-(Complex &c1,Complex &c2); friend Complex operator-(double d,Complex &c2); friend Complex operator*(Complex &c1,Complex &c2); friend Complex operator*(double d,Complex &c2); friend Complex operator/(Complex &c1,Complex &c2); friend Complex operator/(double d,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+(double d,Complex &c2){ return Complex(c2.real+d,c2.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-(double d,Complex &c2){ return Complex(c2.real-d,c2.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*(double d,Complex &c2){ return Complex(c2.real*d,c2.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/(double d,Complex &c2){ return Complex(c2.real/d,c2.imag);}void Complex::display(){ cout<<'('<<real<<','<<imag<<')'<<endl;}int main(){ Complex c1(3,4),c2(5,-10),c3; double d=5; cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); cout<<"d="<<d<<endl; c3=c1+c2; cout<<"c1+c2="; c3.display(); c3=5+c1; cout<<"c1+5="; c3.display(); c3=c1-c2; cout<<"c1-c2="; c3.display(); c3=5-c1; cout<<"5-c1="; c3.display(); c3=c1*c2; cout<<"c1*c2="; c3.display(); c3=5*c1; cout<<"c1*5="; c3.display(); c3=c1/c2; cout<<"c1/c2="; c3.display(); c3=5/c1; cout<<"5/c1="; c3.display(); return 0;}
运行结果:
0 0
- 第8周项目1-实现复数类中的运算符重载(完整的类)
- 第八周项目1-3:实现复数类中的运算符重载-完整的复数类
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
- 第八周 项目一 (3) 实现复数类中的运算符重载 完整的类
- 【项目1】实现复数类中的运算符重载---(3)一个定义完整的类
- 第8周项目1-实现复数类中的运算符重载(1)
- 第8周项目1(1)实现复数类中的运算符重载
- 第8周项目1-实现复数类中的运算符重载(2)
- 第8周项目1-实现复数类中的运算符重载(3)
- 第8周项目1-实现复数类中的运算符重载(友元函数)
- 第8周项目1(3)实现复数类中的运算符重载(拓展)
- 2012C++第8周项目1 - 实现复数类中的运算符重载 【项目1-实现复数类中的运算符重载】
- 第八周项目一--定义完整的类,实现复数中的运算符重载
- 第8周项目1.1 类的成员函数实现复数类中的运算符重载
- 第7周-项目1-实现复数类中的运算符重载-类的成员函数
- 第8周项目1-1实现复数类中的运算符重载
- 2015-第8周项目1-实现复数类中的运算符重载1
- 第8周项目1-实现复数类中的运算符重载(1)
- Oracle SQL优化 总结
- Java 注解
- ZOJ 3879 Capture the Flag (浙江省省赛K题+模拟)
- 第8周项目3-分数类中的运算符重载(1)
- CSS属性之Overflow
- 第8周项目1-实现复数类中的运算符重载(完整的类)
- Android中保存和恢复Fragment状态最佳方案
- 再来说一说PHP购物车实现方法
- 15第八周项目三——分数类中的运算符重载(2)
- matlab基本命令
- SQL datediff (时间差)
- Java_基础_继承的成员变量
- mysql复习
- android消息推送