gpt4 book ai didi

c++ - C++ 中的运算符重载真的期望返回值吗?

转载 作者:行者123 更新时间:2023-12-04 19:12:17 26 4
gpt4 key购买 nike

我不明白以下片段之间的区别。一个有返回值,另一个没有。真正的区别是什么?什么时候用什么?期待收到您的答复。

bool Distance::operator < (Distance d2) const 
{
float bf1 = feet + inches/12;
float bf2 = d2.feet + d2.inches/12;
return (bf1 < bf2) ? true : false;
}
operator float() const        //conversion operator
{ //converts Distance to meters
float fracfeet = inches/12; //convert the inches
fracfeet += static_cast<float>(feet); //add the feet
return fracfeet/MTF; //convert to meters
}

最佳答案

最后一个是转换运算符,因此暗示它返回 float - 你把你的值转换成这种类型。

至于operator< ,它具有返回类型,因为您实际上可以随心所欲地制作它。例如,operator<<对于 C++ 标准库流执行 I/O 而不是逻辑移位。

关于c++ - C++ 中的运算符重载真的期望返回值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59151021/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com