How cast C++ class to intrinsic type

三世轮回 提交于 2019-12-01 18:00:41
class sType
{
public:
    operator int() const { return val; }

private:
    int val;
};
class sType
{
  public:
    operator int() const
    {
      return val;
    }
    int val;
};

To make s = 5 work, provide a constructor that takes an int:

class sType
{
  public:

    sType (int n ) : val( n ) {
    }

    operator int() const
    {
      return val;
    }
    int val;
};

The compiler will then use that constructor whenever it need to convert an sType to an int.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!