Code like this

double n =0;
CTime(n);

generates warning
"warning C4244: 'initializing' : conversion from '__time64_t' to 'double', possible loss of data"

probably need to write a conversion to make compiler
notified that conversion proceed through redefined way -
loss of data is in aware of program.

How to write this, with probably no inherit from
that types - due many code already written,
and will be looking no well readable with so many conversions.

Using SmartPointers only?