内容以及截图来自侯捷老师的视频
1、转换函数定义
在 class 或者 struct 中,形如 operator double () const {}
的成员函数,就是转换函数。
在这个语句中,operator
是关键字,double
是函数名,不带参数,在这里,我们省略返回类型,而返回类型跟函数名一致。
(黄色部分为conversion function)
使用conversion function的情况之一:Fraction f(3,5); double d = 4+f
, 注意是4+f,不是f+4。
2、explicit
2.1 non-explicit-one-argument constructor
使用non-explicit-one-argument constructor的情况之一:Fraction f(3,5); double d = f+4