c++ - 与抽象函数的一致性

标签 c++ stack abstraction

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

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/

相关文章:

c++ - 从拆分字符串定义变量?

c++ - 如何编写可以与操作系统交互的VLC插件

c++ - 双重检查锁定值变为空?

c++ - 从另一个对象访问一个对象的方法(建议更好的方法?)

java - 从 jtable 中删除 AbstractAction

c++ - 关于修改仿函数的参数

c - 使用堆栈迭代快速排序

python - 通过字典获取路径

flutter - 如何定位小部件(定位和堆栈小部件的问题)?

functional-programming - 在这个简单的例子中演示一流的功能