编写一个抽象函数可以将整数转换为字符串

Writing a abstract function turns integer into string

本文关键字:整数 转换 字符串 抽象函数 一个      更新时间:2023-10-16

可能重复:
在C++中将int转换为字符串的最简单方法

class MyInteger
{
   MyInteger() : m_val(0) { }
   MyInteger()( int _val ) : m_val( _val ) {}
  ~MyInteger() {}
};
MyInteger myInteger(10);
std::string s = (std::string)myInteger 

如何编写C++函数来获得s中的"10"??我是C++新手。

非常感谢。

您可以有一个方法

#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;
}; 

除了上述方法之外,您还可以重载如下的casting运算符:

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

如以下链接中所述过载类型转换