C++复数与整数相加,复数与复数相加?

若存在复数类a,b,c。
重载+后
在写程序时c=a+b和c=c+5;可以正常运行
但如果时c=a+b+5则会报错,为什么呢

/*简单的+号重载,复数类+复数类+整数,是不是你想要的效果?*/

#include <iostream>

#include<cmath>

#include<fstream>

#include <cstring>

using namespace std;

class  fs {

int a, b;

public:

void set(int x, int y) {

a = x, b = y;

}

void show() {

cout << a;

if (b >= 0)cout << "+";

cout << b << "j" << endl;

}

fs operator +(fs x) {

fs c;

c.a = a + x.a;

c.b = b + x.b;

return c;

}

fs operator +(int x) {

fs c;

c.set(a+x, b);

return c;

}

};


int main() {

fs a, b, c;

a.set(1, 2);

a.show();

b.set(3, 4);

b.show();

c = a+b +5;

c.show();

}

温馨提示:内容为网友见解,仅供参考
无其他回答

C++复数与整数相加,复数与复数相加?
\/*简单的+号重载,复数类+复数类+整数,是不是你想要的效果?*\/ include <iostream> include<cmath> include<fstream> include <cstring> using namespace std;class fs { int a, b;public:void set(int x, int y) { a = x, b = y;} void show() { cout << a;if (b >= ...

C++ 一个复数类,运算符重载 + ,实现复数和复数的相加。
float j) { this->a = i; this->b = j; } Complex& operator+(Complex &x); float getA(){return a;} float getB(){return b;}private: float a;\/\/实数 float b;\/\/虚数

C++设计一个类 实现复数加减乘除的功能,?? 代码版的啊 最好能有注释...
int a1,b1,a2,b2;char temp[32];void add();void cut();void multiply();void divide();private:void init();};void calc::init(){ cout<<"请输入第一个数的实部:";cin>>a1;cout<<"请输入第一个数的虚部:";cin>>b1;cout<<"请输入第二个数的实部:";cin>>a2;cout<<"请输入...

用C++语言设计一个虚数类,要求虚数类中重载运算符加减,主函数定义类...
\/*1.复数(实部运算 +虚部运算) 1+2i 1-3i 加:2-i 减 0-5i1 重载实现复数一个输入和输出 普通写法实现输入 调用函数的形式实现输出2. 类重载实现复数的加法和减法 加法:类重载 减法:友元重载*\/#include<iostream>using namespace std;class A{private:int x;int ...

复数运算类:公式推导+代码实现(C++)
对于复数的n次方根,我们注意到这是一个相对简单的计算,直接通过代码实现即可。当涉及到复数的指数和对数时,我们再次借助了欧拉公式来完成。整个过程充分展示了C++在复数运算中的强大能力,以及公式推导在理解数学概念时的直观性。总结来说,通过代码实现和公式推导,我们不仅能够解决复数运算中的各种问题,...

...重载运算符“+”,使之能用于复数的加法运算。
friend ostream& operator << (ostream&,Complex&); \/\/声明重载运算符“<<” friend istream& operator >> (istream&,Complex&); \/\/声明重载运算符“>>”private: double real; double imag;};Complex operator +(Complex &c1,Complex &c2){ return Complex(c1.real+c2.real,c1.imag+c2.i...

c++中怎样求复数相加?
定义复数类,中间加入运算符重载等。

C++ 定义一个复数类 求和,求积,求商,求差
{ private:double real;double imaginary;public:CComplex(double re=0.0,double im=0.0):real(re),imaginary(im){} \/\/因为本类中没有任何动态内存分配问题,所以,编译器自动提供的默认拷贝构造函数也能正确的完成工作,因而 \/\/不需另外定义。\/\/加法运算符重载:CComplex operator+ (const C...

一道复数类C++的题帮忙!!!
CComplex operator +(CComplex &c); \/\/两个复数相加 CComplex operator +(double r); \/\/复数和一个实数相加 \/\/重载'-'CComplex operator -(CComplex &c); \/\/同上 CComplex operator -(double r);\/\/重载'*'CComplex operator *(CComplex &c);CComplex operator *(double r);\/...

...谢谢 有一个double的数和一个复数相加 分两种情况
cout<<"请输入一个数"<<endl;cin>>d;cout<<"您输入的是"<<endl;cout<<d<<endl;c2=c1+d;d1=d+c1;cout<<"和为"<<endl;cout<<d1<<endl;cout<<"复数和为"<<endl;c2.display();getch();\/\/按任意键退出 return 0;} 或者 include<stdio.h> include<conio.h> include<iostream> u...

相似回答