gpt4 book ai didi

c++ - 如何实现自定义的类似 ostringstream 的格式化状态?

转载 作者:行者123 更新时间:2023-11-30 02:52:05 26 4
gpt4 key购买 nike

问题

假设我有这样一个类:

enum eOutputMode
{
DECIMAL,
BILLS_AND_COINS
};

class BankAccount
{
ssize_t m_dollars;
unsigned short m_pennies;

public:
friend ostream& operator<<( ostream& os, BankAccount const& rhs )
{
// switch on eOutputMode : output in DECIMAL or in BILLS_AND_COINS
return os;
}
};

问题

如何修改上面的代码,以便我可以这样调用它?

BankAccount  ba;
os << eOutputMode::DECIMAL << ba << "\n";
os << eOutputMode::BILLS_AND_COINS << ba << "\n";

换句话说,我应该如何以及在何处捕获输出状态?

最佳答案

您可以编写一个输出操纵器并捕获 ios_base::iword 中的状态(该页面有一个自定义有状态操纵器的示例)

关于c++ - 如何实现自定义的类似 ostringstream 的格式化状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com