我在类中多次使用以下函数进行抽象:

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/

10-10 08:42