我正在通过一本书(Schaums Programming with c++)自学 C++,我遇到了一些我想尝试但没有涵盖的内容(据我所知)。
我有一个包含 hrs
:mins
:secs
的类。
是否可以编写一个类型转换,以整数的形式返回对象?
如果不是,那可能就是我找不到任何东西的原因。谢谢。
最佳答案
当然,您只需编写一个转换运算符。假设您想将时间转换为秒数:
class MyTime
{
...
public:
operator int() const
{
return hours_ * 3600 + minutes_ * 60 + seconds_;
}
}
在 C++11 中,您还可以添加关键字 explicit
给您的运营商,以便您的类型转换明确要求 static_cast<int>
以便编译。
关于C++ 类将对象转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13730153/