【发布时间】:2015-03-21 15:53:53
【问题描述】:
所以基本上在 C++ 中,我尝试使用运算符重载将多个对象输入到向量中。在我的 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 对象。
【问题讨论】:
-
cin >> b;不会“将对象存储到向量中”。它从标准输入中读取对象。这会覆盖对象的属性,因此您似乎不希望这样做,因为您说您已经从文件中读取了它们。
标签: c++ overloading operator-keyword