内置数据类型可以进行类型强制转换,类也可以进行同样的转换。

通过定义类型转换函数实现的,它只能是类的成员函数,格式为:类名::operator转换后的数据类型(){}
题目:定义人名币类,数据成员包括元角分且均为整型。类型转换函数将人民币强制转换为浮点数。
以下为我的代码

img


以下为代码报错内容

img

注意operator后面的空格,我简单写了一个例子(你的定义的简化版),你自己完善了。

class RMB {
public:
    RMB(float yuan = 0.0f) : m_yuan(yuan) {}
    float toFloat() const { return m_yuan; }
    explicit operator float() const { return toFloat(); }

private:
    float m_yuan;
};

运算符重载函数的一般形式为:

类型	类名::operator 重载的运算符(参数表)
{
		函数体
}