I have a class State
that has a string
data type called moveType
. In the implementation of my code, I am calling a setter void setMoveType(string _moveType);
and it's implemented with just moveType = _moveType;
When I call my getter string getMoveType() const;
on an instance of State
and output it to cout, nothing is displayed.
I am couting upon entering the getMoveType()
function. The parameter indeed has the correct value, but it appears that it's not getting set at all.
Does anyone have any idea? I feel this is something simple/trivial in c++ that I'm just completely forgetting.
string State::getMoveType() const {
return moveType;
}
void State::setMoveType(string move_type) {
cout << "In setMoveType and param = " << move_type << endl;
moveType = move_type;
}
std::cout << vec_possibleSuccessors[i].getMoveType() << endl; // within loop;
vector<State> vec_possibleSuccessors;
if (_minState.canMoveUp()) {
up = _minState.moveUp();
up.setMoveType("UP");
up.setF(f(up));
vec_possibleSuccessors.push_back(up);
}
In the above code, _minState and up are instances of State
. Also, I have made sure that my copy constructor and assignment operator have been modified to include moveType
assignments.