【发布时间】:2021-06-03 17:03:05
【问题描述】:
我已经尝试了 4 个小时来解决这个问题。我就是找不到它,我放弃了。我必须创建一个类,在其中将大数的数字存储在向量中。而且我还必须为它们创建函数。其中之一是用于乘法。我知道这不是你如何乘以一个大数,这只是它的一个测试功能。但它不起作用。它不会给出错误,程序只是等待一段时间,然后什么都不打印(我在 main 中打印它)。我已经创建了很多次类,并且它们有效,并且它们的函数完美地返回了它们的类型。这对我有用的唯一方法是这样的:
largeNum mul(int x){
for(int i=0; i<_numArr.size(); i++){
_numArr[i] = _numArr[i] * x;
}
return *this;
}
但我不想覆盖我的原始向量。我想将结果提供给新的 largeNum 类型对象的向量。我以各种方式尝试了它的指针,但它只是不起作用。可能是因为现在是凌晨 3 点,但我哪儿也去不了。 这就是我正在尝试的:
class largeNum{
public:
std::vector<int> _numArr;
public:
largeNum(){
for(int i=0; i< _numArr.size(); i++){
_numArr[i]=0;
}
}
largeNum mul(int x){
largeNum res;
for(int i=0; i<_numArr.size(); i++){
res._numArr[i] = _numArr[i] * x;
}
return res;
}
}
/* the printing part in main.cpp:
largeNum b = n1.mul(2);
for(int i=0; i < b._numArr.size(); i++){
cout << b._numArr[i] << endl;
}
*/
请帮忙。
【问题讨论】: