我正在阅读此文档的模板: https://www.codeproject.com/Articles/268849/An-Idiots-Guide-to-Cplusplus-Templates-Part-2
我遇到了一个我不明白的定义:
struct Currency
{
int Dollar;
int Cents;
operator double()
{
return Dollar + (double)Cents/100;
}
};
涉及到结构体内
operator double()
函数的定义。
这到底是什么以及它有什么作用?
起初我以为这是一个函子,但函子定义如下:
int operator ()
operator double()
使 Currency
的实例隐式转换为 double
。
Currency cur{1, 2};
double d = cur;