第八周 项目 二 有函数的重载运用一般函数进行调用私有用数据
来源:互联网 发布:刷流量的软件 编辑:程序博客网 时间:2024/05/25 16:38
<span style="font-size:18px;">/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*dood luck*文件名称:d.cpp*作 者:张旺华*完成日期:2015年4月29日*版 本 号:v1.0**/#include <iostream>using namespace std;class Complex{public: Complex() { real=0; imag=0; } Complex(double r,double i) { real=r; imag=i; } double getReal() const { return real; //(1)定义公用的数据接口,可以为const成员函数 } double getImag() const { return imag; } void setReal(double r) { real=r; //(1)定义公用的数据接口 } void setImag(double i) { imag=i; } void display();private: double real; double imag;};//复数相加:(a+bi)+(c+di)=(a+c)+(b+d)i.Complex operator+(const Complex &c1, const Complex &c2) //(3)将参数处理为const更符合需求{ Complex c; c.setReal(c1.getReal()+c2.getReal()); //(2)调用公用数据接口读取和修改私有数据成员 c.setImag(c1.getImag()+c2.getImag()); return c;}//复数相减:(a+bi)-(c+di)=(a-c)+(b-d)i.Complex operator-(const Complex &c1, const Complex &c2){ Complex c; c.setReal(c1.getReal()-c2.getReal()); c.setImag(c1.getImag()-c2.getImag()); return c;}//复数相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i.Complex operator*(const Complex &c1, const Complex &c2){ Complex c; c.setReal(c1.getReal()*c2.getReal()-c1.getImag()*c2.getImag()); c.setImag(c1.getImag()*c2.getReal()+c1.getReal()*c2.getImag()); return c;}//复数相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)iComplex operator/(const Complex &c1, const Complex &c2){ Complex c; double d= (c2.getReal()*c2.getReal()+c2.getImag()*c2.getImag()); c.setReal((c1.getReal()*c2.getReal()+c1.getImag()*c2.getImag())/d); c.setImag((c1.getImag()*c2.getReal()-c1.getReal()*c2.getImag())/d); return c;}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(); return 0;}</span>
运行结果
:
这是把贺老的copy 下来的。
0 0
- 第八周 项目 二 有函数的重载运用一般函数进行调用私有用数据
- 第八周项目二:Time类的函数重载
- 第八周 项目一:任务二(友元函数完成运算符的重载)
- 第八周项目一の任务二----用类的友元函数来完成运算符的重载
- 第八周项目一——运算符重载(运用友元函数)
- 第八周(运算符重载)一般函数
- 第八周 项目一 2友元函数的重载
- 第八周项目1.2--用类的友元函数完成运算符的重载
- 第八周上机任务项目1-1用类的成员函数完成运算符重载
- 第八周 项目1--用类的成员函数,定义复数类重载运算符
- 第八周 项目1--用类的友元函数完成复数类重载运算符
- 2014-第八周项目一--用成员函数实现复数的运算符重载
- 第八周项目一--用类的成员函数实现复数中的运算符重载
- 构造函数有参数,无参数,重载的运用
- 第七周项目1-成员函数、友元函数、一般函数的有区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别 一般函数
- 第八周项目二求分段函数
- 第七周 项目2 友元函数 成员函数 一般函数 的不同调用
- redis缓存 脏数据
- STC 15F101单片机介绍
- hdu 5092 Seam Carving dp+记录路径
- 欧拉工程第30题:Digit fifth powers
- OCX控件响应PreTranslateMessage消息的步骤
- 第八周 项目 二 有函数的重载运用一般函数进行调用私有用数据
- 数据库并发机制及事务隔离机制
- DTW算法
- AfxBeginThread
- UVa 10791 Minimum Sum LCM
- Java Thread Interview Questions And Answers
- 15个JavaScript库实现手机交互式地图资源
- Same binary weight
- MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored