Как записать любой пользовательский тип данных в файл, используя ifstream?
Как говорит вопрос, я хочу записать данные пользовательских типов данных класса, возможно, в файл, используя ifstream в C++. Нужна помощь.
1 ответ
Решение
Для произвольного класса, скажем, Point
Вот довольно чистый способ записать это в ostream.
#include <iostream>
class Point
{
public:
Point(int x, int y) : x_(x), y_(y) { }
std::ostream& write(std::ostream& os) const
{
return os << "[" << x_ << ", " << y << "]";
}
private:
int x_, y_;
};
std::ostream& operator<<(std::ostream& os, const Point& point)
{
return point.write(os);
}
int main() {
Point point(20, 30);
std::cout << "point = " << point << "\n";
}