-3

我无法弄清楚如何将新对象存储到向量中,并能够将这些信息提取出来。

我想做的是,将文件中的不同数据存储在一系列对象中,然后遍历这些对象并提取信息。

我正在寻找这样的东西:

vector<myClass> list;
while( i < nFiles)
{
   myClass *temp = new myClass;
   list.push_back(temp);       

   temp->setSomething();

   i++;
}

我希望每个 nFile 循环都有一个不同的对象,因此我可以稍后遍历每个对象并从每个对象中提取信息。

我试过将温度推到一个向量上,但它只给我错误。

我正在尝试以编程方式做的事情是否正确?我无法理解这一点。任何形式的帮助将不胜感激。谢谢你。

4

3 回答 3

5

首先是一些词汇:您不想将类存储在数组(实际上是向量)中,而是要存储对象。对象是类的实例。

其次,您的while循环语法错误。在 C++ 书籍中查找它。最好使用for循环。

第三,始终以相同的方式编写 MyClass。不要更改小写/大写。

最后,了解指向对象和对象的指针之间的区别。您在声明向量时指定的元素类型与您放入其中的内容不匹配。

于 2013-09-18T21:03:12.493 回答
1

语法是 while (...) 而不是 (while ...) 并且您不能在 while 循环参数中说 i=1。你想做的是:

任何一个 :

 int i = 1;
 while (i < nFiles){
   //Do something
 }

或者

for (int i = 1; i < nFiles; i++){
  //Do something
}
于 2013-09-18T21:04:21.630 回答
0

您的向量应该是指向 的指针向量myClass,即

vector<myClass *> list;

或者你的 temp 不应该是一个指针,即

myClass temp;

后者意味着当你复制整个临时对象时list.push_back(逐字节)。

于 2013-09-18T21:08:41.870 回答