【发布时间】:2020-02-28 04:12:59
【问题描述】:
是否可以通过重载转换运算符将基本数据类型类型转换为类类型 还是我必须在 C++ 中重载 = 运算符
说清楚
classname obj;
float f=obj;
将类型转换运算符从类重载为浮点数和
float f;
classname obj=f;
是从浮点到类的类型转换。所以我的问题基本上是后面的代码是正确的,是否可以通过重载类型转换或者我应该使用重载 = 运算符。
我知道重载 = 有效,但我只是想知道是否可以以这种方式重载类型转换运算符。
【问题讨论】:
-
这是隐式转换。强制转换是显式转换,如
static_cast<float>(obj)或(classname) f。
标签: c++ casting type-conversion operator-overloading