原谅我神奇的命名。
#include<bits/stdc++.h>
using namespace std;
#define maxn 505
class big_num{
public:
void big_plus(big_num a);
void print();
void in();
big_num(){
number=new int [maxn];
max=maxn;
//初始化
for(int i=0;i<maxn;i++)
number[i]=0;
}
~big_num(){
delete [] number;
}
private:
int *number;
int max;
void check();
};
void big_num::in() {
string a;
cin>>a;
for(int i=a.length()-1,j=0;i>=0;i--)
number[j++]=a[i]-'0';
}
void big_num::print() {
for(int i=maxn-1,j=0;i>=0;i--){
if(number[i]!=0||j)
printf("%d",number[i]),j=1;
}
}
void big_num::big_plus(big_num a) {
for(int i=0;i<maxn;i++){
number[i]+=a.number[i];
}
check();
}
void big_num::check() {
for(int i=0,temp;i<maxn-1;i++){
if(number[i]>9){
temp=number[i];
number[i]=temp%10;
number[i+1]+=temp/10;
}
}
}
int main()
{
big_num a,b;
a.in();
b.in();
a.big_plus(b);
a.print();
cout<<endl;
return 0;
}