作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
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/
我是一名优秀的程序员,十分优秀!