我在类中多次使用以下函数进行抽象:
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);
}
然后在所有 call 点都使用相同的方法pushToStack(5);
pushToStack(stack.back());
关于c++ - 与抽象函数的一致性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64356882/