所以基本上在C ++中我试图使用运算符重载将多个对象输入到Vector中。在我的main()中,我有一个while循环,它从文本文件中读取书籍,然后将它们存储在以下字符串中:
String name, title, pages, classcode, status;
然后我去创建我的Book对象:
Book b(name,title pages,classcode, status);
执行此操作后,我使用cin通过运算符重载将对象输入到向量中。
cin >> b;
我的重载函数如下所示:
istream &operator>>( istream &input, Book &b )
{
input >> b.classCode;
input >> b.author;
input >> b.title;
input >> b.status;
input >> b.numPages;
return input;
}
我正在尝试使用运算符重载将对象存储到向量中,但每次运行程序时它都只存储一个Book对象。
答案 0 :(得分:2)
要在Book
中存储std::vector<Book>
的多个实例,您可以编写以下代码:
std::vector<Book> v;
Book b;
while (std::cin >> b)
v.push_back(b);