条款5 class Rational { int a; int b; public: operator double() const { return a / b; }; //隐式类型转换操作符 Rational(int a = 1, int b = 2) :a(a), b(b) {}; }; int main() { Rational r(3, 2); cout << r << endl; //转为double输出 cout << r * 6 << endl; return 0; //1 //6 }