题解 | #复数#
复数
https://www.nowcoder.com/practice/743667f48c4d49a59b7b0613b8aa1c11
#include <iostream> using namespace std; class ComplexNumber { friend ostream& operator<<(ostream&, ComplexNumber&); public: int RealPart, ImaginaryPart; ComplexNumber(int r, int i) : RealPart(r), ImaginaryPart(i) {} ComplexNumber operator+(const ComplexNumber& num) { int r = RealPart + num.RealPart; int i = ImaginaryPart + num.ImaginaryPart; return ComplexNumber(r, i); } }; ostream& operator<<(ostream& out, ComplexNumber& num) { out << num.RealPart; if(num.ImaginaryPart >= 0) out << "+"; out << num.ImaginaryPart << "i"; return out; } int main() { int n, r1, r2, i1, i2; cin >> n; for (int i = 0; i < n; i++) { cin >> r1 >> i1; cin >> r2 >> i2; ComplexNumber num1(r1, i1), num2(r2, i2); ComplexNumber sum = num1 + num2; cout << sum << endl; } }