结构体内部运算符函数的声明

问题描述 投票:0回答:1

我正在阅读此文档的模板: 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 ()

c++ struct functor
1个回答
0
投票

operator double()
使
Currency
的实例隐式转换为
double

Currency cur{1, 2};
double d = cur;
© www.soinside.com 2019 - 2024. All rights reserved.