正如问题所说,我想在c ++中使用ifstream将类的自定义数据类型数据写入文件。需要帮助。
答案 0 :(得分:7)
对于一个任意的类,比如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";
}