我真的不确定如何调用该函数:
friend ostream& operator<<(ostream& out, stack::myItem& theItem);
对我的堆栈对象公开:
class stack
{
public:
stack(int capacity);
~stack(void);
void method1();
...
private:
struct myItem
{
int item;
};
...
public:
friend ostream& operator<<(ostream& out, stack& s);
friend ostream& operator<<(ostream& out, stack::myItem& theItem);
};
最佳答案
这与对任何其他类型使用流运算符 << 没有什么不同(出于某种原因,它被称为运算符重载)。
但是,输出不应该修改一个对象,因此你真的应该通过 const 引用传递它(否则调用临时对象将无法编译)。
friend ostream& operator<<(ostream& out, const stack& s);
friend ostream& operator<<(ostream& out, const stack::myItem& theItem);
关于c++ - 流插入运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534819/