Я новичок в программировании ie и пишу простую программу, которая складывает два комплексных числа. Я перегрузил <<
следующим образом:
ostream& operator << (ostream& output, Complex &complex_num){
output << complex_num.realPart << " + " << "(" << complex_num.imaginaryPart << ")i" <<endl;
return output;
}
Моя функция сложения выглядит следующим образом:
Complex operator +(Complex &c2){
Complex temp;
temp.realPart=realPart+c2.realPart;
temp.imaginaryPart=imaginaryPart + c2.imaginaryPart;
return temp;
}
В моей основной функции, когда я пытаюсь распечатать результат с помощью набрав:
cout << "ADDITION OF THE TWO COMPLEX NUMBERS: "<<num1 + num2<< endl;
Я получаю сообщение об ошибке, в котором указано, что оператор <<
не соответствует. Однако, когда я назначаю другому объекту num3 = num1 + num2
, а затем пишу следующий код, программа работает нормально.
cout << "ADDITION OF THE TWO COMPLEX NUMBERS: "<<num3<< endl;
Что здесь происходит? Кто-нибудь может мне помочь?