我的面向对象编程课程有一个作业问题,要求创建一个类。
我对这部分问题有点困惑
但是,使用>>该类必须是可读的运算符和可写的使用<<运营商。不要使用友元函数来重载运算符。而是创建合适的读写方法,然后使用非友元函数重载运算符。
答案 0 :(得分:3)
class MyClass
{
public:
void ReadFrom(std::istream &is)
{
// read values from 'is' as needed...
}
void WriteTo(std::ostream &os) const
{
// write values to 'os' as needed...
}
};
std::istream& operator>>(std::istream &is, MyClass &cls)
{
cls.ReadFrom(is);
return st;
}
std::ostream& operator<<(std::ostream &os, const MyClass &cls)
{
cls.WriteTo(os);
return os;
}