Damage
和Cost
是整数,但是正如您在下面的代码中看到的那样,我想将它们与字符串连接(如果这是正确的词)。我怎样才能做到这一点?
class Weapon : Shopable{
private:
int Damage;
public:
std::string getDesc() const{
return getName()+"\t"+Damage+"\t"+Cost;
}
};
最佳答案
为您提供此模板:
#include <sstream>
template <class TYPE> std::string Str( const TYPE & t ) {
std::ostringstream os;
os << t;
return os.str();
}
然后您可以说:
return getName() + "\t" + Str( Damage ) + "\t" + Str(Cost);
请注意,这几乎等同于Boost的
lexical_cast
以及即将发布的标准中的类似功能。还要注意,此功能在性能和便利性之间进行权衡。