为了清楚起见,让我的新课程成为:
class MyInt{ public: MyInt(int x){theInt = x /10;} int operator+(int x){return 10 * theInt + x;} private int theInt; };
让我们说我希望能够定义:
MyInt Three(30); int thirty = Three;
但是为了得到这个结果,我写道:
MyInt Three(30); int thirty = Three + 0;
如何从我的Custom类自动转换为内置类型?
解决方法
具有类型转换功能:
class MyInt{ public: MyInt(int x){theInt = x /10;} int operator+(int x){return 10 * theInt + x;} operator int() const { return theInt; } // <-- private int theInt; };