第八周上机任务项目1-3扩展运算符的功能
2013-04-19 16:27
495 查看
01./* 02.* 程序的版权和版本声明部分 03.* Copyright (c)2013, 烟台大学计算机学院学生 04.* All rightsreserved. 5.* 文件名称: complex.cpp 06.* 作 者:赵冠哲 07.* 完成日期:2013年4月19日 08.* 版本号: v1.0 09.* 输入描述: 10.* 问题描述: 11.*/ #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); friend Complex operator+(const double &a,Complex &c2); friend Complex operator+(Complex &c1,const double &a); friend Complex operator-(Complex &c1); 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; } Complex operator+(const double &a,Complex &c2) { return Complex(a+c2.real,c2.imag); } Complex operator+(Complex &c1,const double &a) { return Complex(c1.real+a,c1.imag); } Complex operator-(Complex &c1) { return Complex(-c1.real,-c1.imag); } void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } 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(); c3=1.66+c2; cout<<"1.66+c2="; c3.display(); c3=c1+1.57; cout<<"c1+1.66="; c3.display(); cout<<"c3=-c1="; c3=-c1; c3.display(); return 0; }
运行结果;
相关文章推荐
- 第八周 项目一:任务三(扩展运算符功能)
- 第八周 项目一--实现复数类中的运算符重载(3)扩展运算符功能
- 第八周 项目1--扩展+、-、*、/运算符的功能,使之能与double型数据进行运算
- 第八周项目一の任务三----扩展功能,使之能与double型数据进行运算
- 第八周上机任务项目1-2用类的友元函数完成运算符的重载
- 项目1任务三(扩展运算符功能)
- 项目1-3 定义一个定义完整的类。这样的类在(2)的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算。设Complex c; d
- 第八周上机项目一(2):用类的友元函数实现运算符的重载
- 2013第八周上机任务【项目1 实现复数类中的运算符重载】
- 第八周上机任务项目四
- 第八周C++上机报告(项目一任务2)
- 2013第八周上机任务【项目2-Time类中的运算符重载】
- 第八周上机任务项目三
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
- 第八周 项目1-扩充运算符功能
- 第十三周上机任务-项目2(扩展-递归解法)-最大公约数
- 分子运算2013第八周上机任务【项目3-分数类中的运算符重载】
- 第八周项目一 实现复数类中的运算符重载-(3)扩展(2)中的+-*/功能
- 《C++第八周实验报告1-1(2)》---在方案二的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算
- 第八周项目一の任务一----用类的成员函数完成运算符的重载