Скажем, у меня есть объект работника со следующими членами данных:поток Манипуляция для вывода данных объекта в различных форматах
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()' I как часть манипулятора потока, потому что это выглядит немного лучше для меня, а также, задача кажется крутой. –