【发布时间】:2016-02-10 23:54:21
【问题描述】:
假设我有一个包含以下数据成员的员工对象:
class Employee {
private:
int _id;
std::string _name;
std::string _address;
std::string _city;
std::string _state;
std::string _country;
std::string _phone;
double _salary;
...
}
我想以两种不同的方式输出它:
XML
<Employee>
<id>12345</id>
<name>Jack Dough</name>
<address>24437 Princeton</address>
<city>Dearborn</city>
<state>Michigan</state>
<country>USA</country>
<phone>303-427-0153</phone>
<salary>140000</salary>
</Employee>
和类似 JSON 的:
id: 12345
name: Jack Dough
address: 24437 Princeton
city: Dearborn
state: Michigan
country: USA
phone: 303-427-0153
salary: 140000
如何使用流操纵器做到这一点? 例如:
Employee* employee = new Employee(12345, "Jack Dough", "24437 Princeton", "Dearborn", "Michigan", "USA", "303-427-0153", 140000.00);
cout << toXML << employee;
cout << toJSON << employee;
【问题讨论】:
-
或者我最好的方法是只拥有类函数
ostream& Employee::toXML()ostream& Employee::toJSON()我喜欢流操纵器部分,因为它对我来说看起来更好一些,而且挑战似乎很酷。