面向对象
#include <bits/stdc++.h> using namespace std; class BigInt { private: string num; public: #define proces() do { \ if (t > '9') { \ t -= 10; \ flag = true; \ } else { \ flag = false; \ } \ c += t; \ i++; \ } while (0) BigInt(string s, bool bRevs = true) { num = move(s); if (bRevs) reverse(num.begin(), num.end()); } BigInt operator + (BigInt &b) { string c; int i = 0; bool flag = false; char t; while (i < num.size() && i < b.num.size()) { char t = num[i] + b.num[i] - '0' + (flag ? 1 : 0); proces(); } while (i < num.size()) { char t = num[i] + (flag ? 1 : 0); proces(); } while (i < b.num.size()) { char t = b.num[i] + (flag ? 1 : 0); proces(); } if (flag) c += '1'; return BigInt(c, false); } friend ostream &operator << (ostream &out, const BigInt &n); }; ostream &operator << (ostream &out, const BigInt &a) { for (int i = a.num.size() - 1; ~i; --i) { out << a.num[i]; } return out; } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); string s1, s2; while (cin >> s1 >> s2) { BigInt n1(s1), n2(s2); cout << (n1 + n2) << endl; } return 0; }