我尝试在调用toString()方法时返回一些信息,其中包括一个整数和一些浮点数。我知道ostringstream可以很好地实现这一点,但当包含此方法的类被反复调用时,信息会堆叠到以前的输出上。这是我的代码:
ostringstream int_buffer, float_buffer, float_buffer2;
在我的类的开头被介绍,然后
string toString()
{
int_buffer << on_hand;
float_buffer << price;
float_buffer2 << generated_revenue;
string stron_hand = int_buffer.str();
string strprice = float_buffer.str();
string strrev = float_buffer2.str();
string output = "Product name: " + description + " Units left: " + stron_hand + " Price: " + strprice + " Revenue: $" + strrev;
return output;
}
我知道我的代码很糟糕,我还是比较新手,但我的输出结果如下:
"产品名称:电影票 剩余数量:49 价格:9.99 收入:$9.99"
"产品名称:电影票 剩余数量:4926 价格:9.999.99 收入:$9.99239.76"
第二个输出结果应该为
"产品名称:电影票 剩余数量:26 价格:9.99 收入:$239.76"
我知道这只是一个更新的问题,但我不知道该怎么做。