问题描述
我在类中多次使用以下函数进行抽象:
void Interpreter::pushToStack(int value)
{
stack.push_back(std::to_string(value));
}
stack.push_back(stack.back());
这是不好的做法吗?在使用抽象函数时不一致会不好吗?因为我认为我不能真正使用pushToStack(int)
,因为它需要一个整数,并且我想按stack.back()
。
谢谢!
解决方法
为了保持一致,您可以为字符串添加重载
void Interpreter::pushToStack(int value)
{
stack.push_back(std::to_string(value));
}
void Interpreter::pushToStack(std::string value)
{
stack.push_back(value);
}
,然后在所有呼叫点都使用相同的方法
pushToStack(5);
pushToStack(stack.back());