实现复数类中的加运算符重载【C++运算符重载】
2015-06-30 18:50
281 查看
<h2>Description</h2><div class="content"><p>int家有i1和i2弟兄俩,小手一拉i1+i2,加起来了;double家有d1和d2姐妹俩,小手也一拉,d1+d2,也加起来了。C++村子里来了复数(Complex)一家子,也有俩兄弟c1和c2,想要来个累加,笨乎乎地,c1.add(c2)。c1和c2伤心极了,也想像其他小朋友一样,小手一拉,c1+c2,也能加起来。这个任务交给了正在看题的魔术师,帮他们一个忙,让复数也能用+号相加吧。(可以复制提示部分的代码开始你的编程)</p><p></p></div><h2>Input</h2><div class="content"><p>四个数,分别代表两个虚数c1和c2的实部和虚部。如输入2.5 3.1 -4.5 0.3,代表两个虚数:c1(2.5+3.1i), c2(-4.5+0.3i)</p><p></p></div><h2>Output</h2><div class="content"><p>两个虚数相加的结果,格式(a,bi)形式</p><p></p></div><h2>Sample Input</h2><pre class="content"><span class="sampledata">2.5 3.1 -4.5 0.3</span>
Sample Output
(-2,3.4i)
#include<iostream> using namespace std; class Complex { public: Complex(); void display(); Complex(double a,double b):real(a),imag(b) {} Complex operator+(Complex &a);//声明需要的成员或友元函数,包括构造函数、用于重载运算符的函数及用于显示结果的函数 private: double real; double imag; }; Complex::Complex(){} void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"; } Complex Complex::operator+(Complex &a) { Complex c; c.real=real+a.real; c.imag=imag+a.imag; return c; } //下面定义成员函数 //下面用main()函数测试,完成输入输出 int main() { double cr1, ci1, cr2, ci2; cin>>cr1>>ci1>>cr2>>ci2; Complex c1(cr1, ci1),c2(cr2, ci2),c3; c3=c1+c2; c3.display(); return 0; }
相关文章推荐
- C++ STL--stack/queue 的使用方法
- vc++上的MFC的对象序列化和反序列化
- C语言union(联合体 共用体)
- cpp第一次用set和vector
- Mac OS上Java用JNI调用C++
- C++ typedef用法小结 (※不能不看※)
- 牛客网(阿里巴巴2010搜索研发C++工程师笔试卷)
- C++逗号运算符与逗号表达式
- C++内存操作
- C++中函数指针的使用
- C++ 虚函数表解析
- C++伪函数
- C++赋值运算符与赋值表达式
- c++builder调用vc的dll
- VC++下实现系统关机、重启
- C++强制类型转换
- 最小二乘法拟合多项式原理以及c++实现
- C++自增和自减运算符(--和++)
- C++编程中虚函数的作用
- 牛客网(c++专项练习)