有关重载运算符的疑惑
  • 板块学术版
  • 楼主ybe2007
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/6/5 21:26
  • 上次更新2023/10/27 23:54:27
查看原帖
有关重载运算符的疑惑
78229
ybe2007楼主2022/6/5 21:26

这份代码本地运行RE

#include<bits/stdc++.h>
using namespace std;
struct Bignum
{
	vector<int> s;
	/*Bignum operator=(int x)
	{
		s.clear();
		while(x) s.push_back(x%10),x/=10;
	}*/
	Bignum operator=(const char *str)
	{
		int len=strlen(str+1);
		for(int i=len;i;i--) s.push_back(str[i]-'0');
	}
	void clear(){s.clear();}
	void print(){for(int i=s.size()-1;i>=0;i--) printf("%d",s[i]);}
}p,q;/*
Bignum operator+(const Bignum a,const Bignum b)
{
	Bignum c;c.clear();
	int lena=a.s.size(),lenb=b.s.size(),jw=0;
	for(int i=0;;i++)
	{
		if(!jw&&i>=lena&&i>=lenb) break;
		int x=jw;
		if(i<lena) x+=a.s[i];
		if(i<lenb) x+=b.s[i];
		jw=x/10,x%=10;
		c.s.push_back(x);
	}
	return c;
}*/
char a[1005],b[1005];
int main()
{
	scanf("%s%s",a+1,b+1);
	p=a;
	p.print();
	q=b;//this
	q.print();//this
}

但是去掉 40,4140,41 行之后就能正常输出 aa,有些疑惑

2022/6/5 21:26
加载中...