这是我的代码,我目前正在处理我自己的BigInt类,我遇到了getter和setter以及一些程序结构的问题。 我一直收到这两个错误:
prog.cpp: In function 'int main()':
prog.cpp:38:29: error: cannot call member function 'void bigInt::setString(std::string)' without object
bigInt::setString(digString);
^
prog.cpp:39:28: error: expected primary-expression before 'void'
cout << bigInt::getString(void);
^
代码
//my bigInt class
#include <iostream>
#include <vector>
#include <string>
using namespace std;
//class, constructors
//overload operators methods
//add, subtract, multiply, divide
class bigInt{//class
public:
bigInt();
~bigInt();
void setString(string dig);
string getString(void);
std::string digit;
std::string digString;
private:
std::vector<int> big1;
std::vector<int> big2;
};
//constructors
bigInt::bigInt(void){
}
//deconstructor
bigInt::~bigInt(){
}
void bigInt::setString(string dig){
digit= dig;
}
string bigInt::getString(){
return digit;
}
int main(){
string digString= "90867537465982736459087162745938";
bigInt::setString(digString);
cout << bigInt::getString(void);
}
提前致谢!
答案 0 :(得分:0)
在main
中你会做类似的事情。
int main(){
string digString= "90867537465982736459087162745938";
bigInt my_int{};
my_int.setString(digString);
cout << my_int.getString();
}
您必须实际实例化bigInt
对象,我在上面的示例中调用了my_int
。然后,您可以从该对象调用方法setString()
和getString()
。
在没有实例调用它们的情况下,您可以调用的唯一类方法是static
方法。
答案 1 :(得分:0)
您需要一个可以使用的对象。试试你的主要内容:
bigInt myInt;
myInt.setString(...);