Objects can be type converted in C++, as shown in the following program:
#include<iostream> class Fraction//Score { public: Fraction (int num, int den = 1) : m_numerator (num), m_denominator (den) {} operator double() const { //return (m_numerator/(m_denominator*1.0)); return (m_numerator/(double)m_denominator); } private: int m_numerator;//numerator int m_denominator;//denominator }; int main(int argc, char* argv[]) { Fraction f(3,5); double d1 = 4 + f; std::cout <<"d1 = " << d1 << std::endl; Fraction f1(4); double d2 = 4 + f1; std::cout << "d2 = " << d2 << std::endl; return 0; }
In this example, use operator double() const {} to convert the Fraction object to double type (numerator divided by denominator), and the result is shown in the following figure: