¿Cómo hago una clase asignable a primitivas? O, ¿cómo hago una clase escalar?

e preguntaba si es posible hacer que mi

class Time
{
    public:
        Time();

        explicit
        Time(
            const double& d);

        Time&
        operator=(
            const Time& time);

        Time&
        operator=(
            const double& d);
};

asignable a la primitiva doble?

Estoy usando Time como IV mucho y necesito hacer muchas operaciones escalares en él, por lo que necesita "mezclarse" con DV que generalmente son dobles normales. Agregar un segundo operador de asignación hizo el truco al revés.

Sin embargo, muchas operaciones aún no son posibles con esto. He estado escribiendo operadores fuera de la clase Time para permitir la suma, resta, multiplicación y división entre Time y double. Pero como los operadores de asignación no están permitidos fuera de una clase, no puedo superar este último error:

Error   1   error C2440: 'initializing' : cannot convert from 'double' to 'Time'    linearfit.cpp   67

¿Alguien tiene alguna experiencia con esto?

¡Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta