Implicit conversion casting
#include <iostream>
class Distance {
public:
Distance(int meters) : meters(meters) {}
operator int() const {
return meters;
}
private:
int meters;
};
int main() {
Distance distance(1000);
int convertedDistance = distance;
std::cout << "Original distance in meters: " << distance << std::endl;
std::cout << "Converted distance in meters: " << convertedDistance << std::endl;
return 0;
}