为了清楚起见,让我的新班级成为:
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类自动转换为内置类型?
答案 0 :(得分:14)
使用类型转换功能:
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;
};