面向对象程序设计上机练习十(运算符重载)
2016-10-11 11:05
239 查看
Problem Description
定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2、i+c1、c1+i均合法。(其中i是整数,c1、c2是复数),编程实现求2个复数之和、整数与复数之和。
Input
输入有三行:第1行是第1个复数c1的实部和虚部,以空格分开。第2行是第2个复数c2的实部和虚部,以空格分开。第3行是1个整数i的值。
Output
输出有三行:第1行是2个复数c1和c2的和,显示方式:实部+虚部i
第2行是第1个复数c1加i的值,显示方式:实部+虚部i
第3行是i加第1个复数c1的值,显示方式:实部+虚部i
Example Input
2 3 3 5 10
Example Output
5+8i 12+3i 12+3i
#include <iostream> #include <algorithm> using namespace std; class com { private: int a,b; public: com(int a1=0,int b1=0) { a=a1; b=b1; } com operator +(com&t1) { return com(a+t1.a,b+t1.b); } com operator +(int t1) { return com(a+t1,b); } friend com operator +(int x,com &y); friend ostream& operator<<(ostream &out,com t) { out<<t.a<<"+"<<t.b<<"i"<<endl; return out; } }; com operator +(int x,com &y) { return com(y.a+x,y.b); } int main() { int a,b,x; cin>>a>>b; com t1(a,b); cin>>a>>b; com t2(a,b); cin>>x; cout<<t1+t2; cout<<t1+x; cout<<x+t1; return 0; }
相关文章推荐
- [1273]面向对象程序设计上机练习十一(运算符重载)
- sdut 面向对象程序设计上机练习十一(运算符重载)
- 面向对象程序设计上机练习十二(运算符重载)
- 面向对象程序设计上机练习十一(运算符重载)
- 面向对象程序设计上机练习十一(运算符重载)
- 面向对象程序设计上机练习十(运算符重载)
- sdut 面向对象程序设计上机练习十(运算符重载)
- 面向对象程序设计上机练习十二(运算符重载)
- SDUT-1274 面向对象程序设计上机练习十二(运算符重载)
- 面向对象程序设计上机练习十(运算符重载)
- 面向对象程序设计上机练习十二(运算符重载)
- 面向对象程序设计上机练习十一(运算符重载)
- 面向对象程序设计上机练习十(运算符重载)
- 【1274】面向对象程序设计上机练习十二(运算符重载)
- sdut 面向对象程序设计上机练习十二(运算符重载)
- [1272]面向对象程序设计上机练习十(运算符重载)
- 面向对象程序设计上机练习十一(运算符重载)
- 面向对象程序设计上机练习十(运算符重载)
- 面向对象程序设计上机练习十一(运算符重载)
- 1274面向对象程序设计上机练习十二(运算符重载)