Здравствуйте, Olmer.k, Вы писали:
читать "перегрузка операторов ввода/вывода", например
здесь
(поиск: "20.4. Перегрузка оператора вывода", "20.5. Перегрузка оператора ввода")
Здравствуйте, Olmer.k, Вы писали:
OK>создаю объект класса Expenses. Подскажите как его записать в бинарный файл с помощью потоков? Или хотя бы дайте ссылочку на что-то похожее?
сделайте у каждого класса метод write, например для класса Expenses:
void write(std::ostream& out) {
out.write(surname, strlen(surname)); // или лучше записать сперва длину строки, потом саму строку
out.write((char*)&age, sizeof(age));
out.write((char*)&sex, sizeof(sex));
exp.write(out);
profit.write(out);
}
запись объекта Expenses в файл:
Expenses expenses;
ofstream out("file.bin", ios_base::binary);
if(out) {
expenses.write(out);
}
P.S. этот способ правда не учитывает порядок байт (little endian или big endian) и размеры типов, но это актуально только если Вы пишите кросс-платформенное приложение