从类指针列表中打印元素c ++

时间:2016-01-23 19:06:01

标签: c++ class

我正在尝试重载<<运算符,以便打印出类指针列表的整个内容。

这是我得到的:

friend ostream& operator<<(ostream& out, listClass &obj){
        list<baseClass*>::iterator it;
        for (it = obj.listB.begin(); it != obj.listB.end(); ++it){
            out << *it << endl;
        }
        return out;
    }

我知道如果列表是简单的类对象而不是类指针,那么这段代码可以正常工作,但现在它正在打印列表元素的地址。我试着用我的生活在谷歌上找到答案但却一无所获。

如何获取类指针迭代器的内容?

感谢您的时间!

编辑:显然*(*它)产生正确的结果。这是对的吗?

1 个答案:

答案 0 :(得分:0)

std::list迭代器指向到列表中的项目。

要访问该项目,您将取消引用指针:

iterator->item;

(*iterator).item;

迭代器与指针有很多共同之处。