因为作为一个类的成员函数,<<的左操作数默认为*this,所以ostream& operator<<(ostream& os,Screen& s)这样声明会编译报错多了一个参数。
如果要重载<<操作符,则需要将这个重载函数声明为友元函数,friend ostream& operator < <(ostream& os,const Screen& s)。
因为作为一个类的成员函数,<<的左操作数默认为*this,所以ostream& operator<<(ostream& os,Screen& s)这样声明会编译报错多了一个参数。
如果要重载<<操作符,则需要将这个重载函数声明为友元函数,friend ostream& operator < <(ostream& os,const Screen& s)。