所以这是我的简单程序设置类(Spots)的对象(sp),虽然在main函数中设置了特定的值,但是在执行时我会得到随机数。
http://i.stack.imgur.com/hoLuR.png
我错过了什么?
答案 0 :(得分:1)
您没有在构造函数中初始化成员变量。你的构造函数应该是
Spots(int weather_, bool treasure_, bool port_)
{
weather = weather_;
treasure = treasure_;
port = port_;
}
或者如果您更喜欢initialization list syntax
Spots(int weather_, bool treasure_, bool port_)
: weather{weather_}, treasure{treasure_}, port{port_} {}
正如您当前编写的构造函数一样,输入参数恰好与您的成员变量具有相同的名称(这是一个问题),但您基本上将它们传入,然后对它们不执行任何操作,这会使成员变量未初始化