编写抽象函数会将整数转换为字符串

时间:2011-04-12 17:34:21

标签: c++ stl abstract-class

  

可能重复:
  Easiest way to convert int to string in C++

class MyInteger
{
   MyInteger() : m_val(0) { }
   MyInteger()( int _val ) : m_val( _val ) {}
  ~MyInteger() {}
};

MyInteger myInteger(10);
std::string s = (std::string)myInteger 

如何编写C ++函数以获得“10”? 我是C ++的新手。

非常感谢你。

2 个答案:

答案 0 :(得分:3)

你可以有一个方法

#include <sstream>
#include <string>
//...

std::string MyInteger::toString()
{
    std::stringstream stream;
    stream << m_val;
    return stream.str();
}

或适合你的风格:

class MyInteger 
{
public:
    MyInteger() : m_val(0) { }
    MyInteger()( int _val ) : m_val( _val ) {}
   ~MyInteger() {} 

   std::string toString()
   {
        std::stringstream stream;
        stream << m_val;
        return stream.str();
   }

private:
   int m_val;
}; 

答案 1 :(得分:1)

除了上述方法,您还可以像这样重载强制转换运算符:

class MyInteger
{
  ...
  operator std::string() { /* string conversion method here */ }
};

如以下链接所述 Overload typecasts