我正在写一个简单的链接列表,它工作正常,但我坚持重载ostream(嗯,我不确定我的意思是ostream还是instream!) :如何重载iostream运算符在整个流上执行一个函数
class List
{
public:
void addToEnd(int data);
/* operator overloads */
friend std::istream& operator >> (std::istream& is, int data);
};
std::istream& operator>>(std::istream& is, int data)
{
for(int i = 0; i < is.gcount(); i++)
{
// how to call ist::addToEnd(data);
}
}
我想,使其以某种方式能够:
List list();
list << 2 << 3 << 4;
让我用这种形式,而不是调用addToEnd(X)
BTW,语句'List list();'声明了一个名为'list'的函数,它不接受任何参数并返回一个List类型的对象。你可能打算写'List list;','List list {};''或'List list = List();' –
@DietmarKühl是的谢谢它只是一个错字:P –