c – 从自定义类转换为内置类型

前端之家收集整理的这篇文章主要介绍了c – 从自定义类转换为内置类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了清楚起见,让我的新课程成为:
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; 
};

猜你在找的C&C++相关文章