Cast Operator Overloading

Define custom implicit and explicit cast operators to control how your classes convert to and from other data types.

An implicit cast may occur when storing an object of one type in a variable of another type. In other cases, we must cast an object explicitly.