我试图加2个复数在一起,但我得到的错误复数:添加使用类
没有运营商“+”这些操作数
没有运营商“< <”匹配这些比赛操作数
#include <iostream>
using namespace std;
class complex
{
public:
double get_r() { return r; }
void set_r(double newr) { r=newr; }
double set_i() { return i; }
void set_i(double newi) { i = newi; }
private:
double r, i;
};
int main()
{
complex A, B;
A.set_r(1.0);
A.set_i(2.0);
B.set_r(3.0);
B.set_i(2.0);
complex sum = A+B;
cout << "summen er: " << sum << endl;
system("PAUSE");
return 0;
};
我对编程非常陌生,但我不明白为什么它不会将这些数字加在一起。我做错了什么?
它是*你的类,那么编译器如何知道你想将它们加在一起? – crashmstr
我不知道你想达到什么,但也许你应该考虑使用std :: complex; –
如果您想了解更多关于复杂类的实现,请看看GNU ISO C++库如何实现std :: complex(https://gcc.gnu.org/onlinedocs/gcc-4.6.3/libstdc++/ api/a00812_source.html) –