#include <iostream>

class rational {
    public: 
        rational( int iNum, int iDen ) : num( iNum ), den( iDen ) {}

        // ... 
        operator double() { return (double)num / (double)den; }

    private: 
        int num;
        int den;
    };

    int main()
    {
        rational r( 1, 2 );
        double n = r;

        std::cout << r << std::endl; // output 0.5
        return 0;
    }