int main() { { Months months(23); cout << months.getValue() << " months" << endl; Days days = months; cout << days.getValue() << " days" << endl; Hours hrs(months); cout << hrs.getValue() << " hrs." << endl; Minutes m(hrs); cout << m.getValue() << " min." << endl; Seconds s(m); cout << s.getValue() << " sec." << endl; Milliseconds ms; ms = s; cout << ms.getValue() << " ms" << endl; } cout << "---------------------\n"; { Minutes min(10); cout << min.getValue() << " min. " << endl; Seconds sec = min; cout << sec.getValue() << " sec. " << endl; } cout << "---------------------\n"; { Miles miles(24859); //circumfrence of the Earth cout << miles.getValue() << " miles" << endl; Yards yards(miles); cout << yards.getValue() << " yd." << endl; Feet feet(miles); cout << feet.getValue() << " ft." << endl; Inches inches(miles); cout << inches.getValue() << " in." << endl; } cout << "---------------------\n"; { Minutes minutes(1000000ULL); Yards yards(minutes); cout << "There are " << (yards.getValue()/1000000.0) << " yards in a minute!\n"; } cout << "---------------------\n"; { Inches inches; Feet feet; Yards yards; string s = "12 12 12"; std::istringstream iss(s); iss >> inches >> feet >> yards; cout << inches << ' ' << feet << ' ' << yards << endl; cout << inches << ' ' << ((Inches)feet) << ' ' << ((Inches)yards) << endl; } cout << "---------------------\n"; { Radians r; r = 3.14159; cout << r << " radians is " << (Degrees)r << " degrees\n"; Degrees d(r); Degrees d2; d2 = r; cout << (Degrees)r << " == " << d << " == " << d2 << endl; } system("PAUSE"); return 0; }