[008]CC++系列 |转换函数(一)conversion function

    技术2022-07-15  43

    class Fraction { public: Fraction(int num, int den=1) : m_numerator(num), m_denominator(den) {} operator double() const { return (double)( m_numerator / m_denominator ); } private: int m_numerator; // 分子 int m_denominator; // 分母 }; Fraction f(3,5); double d = 4 + f; // 调用operator double() 将f转换为0.6

    备注:

    double d = 4 + f 由于最后是double类型,编译器就会去找Fraction是否存在转换为double的函数,发现之后就对其进行转换!!!

    Processed: 0.010, SQL: 9