运算符重载(摘抄)
2016-05-12 20:05
295 查看
通过函数来实现复数相加
成功!
#include <iostream> using namespace std; class Complex { public: Complex(){real = 0;imag = 0;} Complex(float r,float i){real = r;imag = i;} Complex complex_add(Complex &c2); void display(); private: double real; double imag; }; Complex Complex::complex_add(Complex &c2) { Complex c; c.real = real+c2.real; c.imag = imag+c2.imag; return c; } void Complex::display() { cout << "(" << real << "," << imag << "i)" << endl; } int main() { Complex c1(3,4),c2(5,-10),c3; c3 = c1.complex_add(c2); cout << "c1 =";c1.display(); cout << "c2 =";c2.display(); cout << "c1 + c2 =";c3.display(); return 0; }下面的目标是把 c3 = c1.complex_add(c2); 变成 c3 = c1 + c2;
#include <iostream> using namespace std; class Complex { public: Complex(){real = 0;imag = 0;} Complex(float r,float i){real = r;imag = i;} Complex operator+(Complex &c2); //Complex complex_add(Complex &c2); void display(); private: double real; double imag; }; Complex Complex::operator+(Complex &c2) //Complex Complex::complex_add(Complex &c2) { return Complex(real+c2.real,imag+c2.imag); //Complex c; //c.real = real+c2.real; //c.imag = imag+c2.imag; //return c; } void Complex::display() { cout << "(" << real << "," << imag << "i)" << endl; } int main() { Complex c1(3,4),c2(5,-10),c3; c3 = c1+c2; //c3 = c1.complex_add(c2); cout << "c1 =";c1.display(); cout << "c2 =";c2.display(); cout << "c1 + c2 =";c3.display(); return 0; }
成功!
相关文章推荐
- cordova+ios插件
- poj 1151 Atlantis(线段树+离散化+扫描线)
- 【大数据-第二期】java基础第六天作业
- 关于Android事件派发流程的理解
- 解决Android软键盘和表情面板切换界面闪动问题
- 一个让我很无语的bug
- 显示gcc内置宏
- PAT 1022
- Eviews 9.0新功能——估计方法(ARDL、面板自回归、门限回归)
- 第七周项目3——用多文件组织多个类的程序
- Calendar和Date的用法
- C++中的类与对象
- Android开发常用的adb命令整理
- UVA1225
- http协议,全部看懂面试就成功了一半
- 0512 操作系统之进程调度
- [MEF] 学习之一 入门级的简单Demo(转)
- vue-cli学习开发总结
- easyui --单元格编辑
- android IDE——通过DDMS查看app运行时所占内存情况