构造函数的离奇时间
  • 板块学术版
  • 楼主konyakest
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/9/4 13:16
  • 上次更新2023/10/27 12:35:54
查看原帖
构造函数的离奇时间
482660
konyakest楼主2022/9/4 13:16

这是我写的高精度类的一部分:

#include <bits/stdc++.h>
using namespace std;

class ubigint{
public:
	ubigint(){};
	ubigint(string s){
		for(int i=s.size()-1;i>=0;i--) nums.push_back(s[i]-'0');
	}
	ubigint(const char* s){ubigint(string(s));}
	short& operator [](int x){return nums[x];}
	
	operator string(){
		string x;
		for(int i=nums.size()-1;i>=0;i--) x+=(*this)[i]+'0';
		return x;
	}
private:
	vector<short> nums;
};

ostream& operator <<(ostream& out,ubigint a){
	out<<string(a);
	return out;
}

signed main() { 
	ubigint x="123";
	cout<<x;
	return 0; 
}

此时,它不会输出,但如果把ubigint x="123";改成ubigint x=(string)"123";,就正常了

求原因

2022/9/4 13:16
加载中...