gpt4 book ai didi

C++ 如何遍历对象的 std::vector 并在控制台上显示内容

转载 作者:太空狗 更新时间:2023-10-29 23:46:27 32 4
gpt4 key购买 nike

For 循环应该遍历 std::vector 并填充内容。

第一个 for 循环给我一条错误消息:

未找到二元运算符<<无法转换

vector<MyClass>classVector;
for (vector<MyClass>::iterator i = classVector.begin();
i != classVector.end();
++i)
{
cout << *i << endl;
}

我的类.h:

class MyClass{

private:

string newTodayTaskString;

public:
MyClass(string t) : newTodayTaskString (t){}

~MyClass(){}
};

这个 for 循环遍历一个字符串 vector 并且运行良好。为什么?

vector<string>stringVector;
for (vector<string>::iterator i = stringVector.begin();
i != stringVector.end();
++i)
{
cout<<*i<<endl;
}

最佳答案

问题与迭代无关,只是因为你可以写

std::string s = "Hello";
std::cout << s;

但不是

MyClass o("Hello");
std::cout << o;

参见 How to properly overload the << operator for an ostream?关于如何重载operator <<让它发挥作用!

关于C++ 如何遍历对象的 std::vector 并在控制台上显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325607/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com