c++ - 如何覆盖 C++ 类中的 bool 运算符?

标签 c++ operators operator-overloading

我在 C++ 中定义了一个 ReturnValue 类,它需要报告方法是否成功。我希望类的对象在成功时评估为 true,在错误时评估为 false。我应该重写哪个运算符来控制我的类的真实性?

最佳答案

简单的答案是提供 operator bool() const,但您可能需要查看 safe bool idiom , 而不是转换为 bool(这可能又会隐式转换为其他整数类型),而是转换为不接受这些转换的不同类型(指向私有(private)类型的成员函数的指针)。

关于c++ - 如何覆盖 C++ 类中的 bool 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5829487/

相关文章:

c++ - 模板函数 : invalid operands 中的运算符<<

c++ - 对运算符<< 的 undefined reference

c# - 可以重载空合并运算符吗?

c# - 对 MFC/.net/WPF 感到困惑

c++ - 谁在 + 运算符中删除了复制的实例? (c++)

c++ - 使用 `getline(cin, s);` 后使用 `cin >> n;`

c++ - 最后未调用后缀运算符

c++ - 使用回调中的值更新 std::vector 的 GUI slider 的动态数量

php - mysql/php上两个表的加减法

c++ - 二元运算符声明的“static”关键字