复数类中的运算符重载
2016-05-18 17:22
183 查看
问题及代码;
运行结果:
知识点总结:
利用函数中类的对象与形参进行运算。
/*copyright 计算机与控制工程学院 完成日期:2016年5月18 作者:马艳艳 文件名称:复数类中的运算符重载 输入描述:无; 输出描述:无; */ #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 Complex &c2); Complex operator-(const Complex &c2); Complex operator*(const Complex &c2); Complex operator/(const Complex &c2); void display(); private: double real; double imag; }; //下面定义成员函数 //复数相加: (a+bi)+(c+di)=(a+c)+(b+d)i. Complex Complex::operator+(const Complex &c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } //复数相减:(a+bi)-(c+di)=(a-c)+(b-d)i. Complex Complex::operator-(const Complex &c2) { Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c; } //复数相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i. Complex Complex::operator*(const Complex &c2) { Complex c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c; } //复数相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i Complex Complex::operator/(const Complex &c2) { Complex c; c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c; } 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; }
运行结果:
知识点总结:
利用函数中类的对象与形参进行运算。
相关文章推荐
- React Native官方入门教程
- 设计模式—观察者模式
- android 框架 MVP
- Windows进程hang住(您想结果这个进程吗?)
- 数据结构实验之栈一:进制转换
- CI 笔记 datagrid的调用,不支持多页面多次调用js
- 2008R2域控环境中 应用组策略 实现禁用USB设备使用
- 使用 xmllint 验证 odoo xml文件
- Java : java.util.ConcurrentModificationException
- Asp.net中使用文本框的值动态生成控件的方法
- Saiku初解
- Spring事务传播机制和数据库隔离级别
- jquery Multiple markers at this line问题
- java web 项目启动开启 socket server 作者:Mchange
- 获取当前时间的月份和前n个月份 、年份 、日期
- 文章标题
- Android基础之drawable标签的使用上
- 最近5年133个Java面试问题列表
- CentOS6.5的安装及注意的问题
- uva10401