C++ 类:读取值表现为不同的类型

C++ classes: read value behave as different types

我想创建一个与此类似的 class:

class MyTime {
public:
    int seconds;
    int useconds;

    /*** functions ***/
}

但具有以下行为:

MyTime now;
double current_time = now; // returns double representing seconds

有没有无需定义 asDoubleSeconds() 函数就可以做到这一点的方法?我可以通过某种方式重载赋值运算符来改变行为吗?

如果没有,有没有办法做这样的事情:

double current_time = double(now);

是,实施 user-defined conversion operator:

class MyTime {
    // ...

    operator double() const;
};

MyTime::operator double() const {
    // compute and return a double
}