Operator Overloading

a pseudo-code analogy:

I think that what OP is trying to do is have a uint32_t member, legCount, and a variable, numberOfLegs, and be able to say:

   Dog mutt;
   mutt.SetLegCount(8);

   uint32_t numberOfLegs = mutt;

But I count figure out why, when

   uint32_t numberOfLegs = mutt.GetLegCount();

makes it much clearer what is being assigned.