【发布时间】:2011-09-27 13:00:00
【问题描述】:
我非常习惯使用数组和向量,但现在我正在使用一些 STD::lists,以及我制作的自定义列表类。
假设我有一个简单的类,Stock。
//stock.h
class Stock{
public:
Stock(); //default constructor
Stock(string, double); //overloaded constructor
void setSymbol(string); //sets stock symbol
void setPrice(double);
string getSymbol();
double getPrice();
private:
string symbol;
double price;
};
现在在一个单独的文件中,我有我的 int main 来测试。
#include "stock.h"
#include <list>
int main(){
list<Stock> portfolio;
Stock Google("GOOG", 500);
Stock Apple("APPL", 300);
Stock Chipotle("CMG", 200);
portfolio.push_back(Google);
portfolio.push_back(Apple);
portfolio.push_back(Chipotle);
}
现在,如果这是一个向量或数组,我不会有任何问题,我只是完全失去了与以下等效的链表:
for(int i=0; i <portfolio.size(); i++){
portfolio[i].getSymbol();
portfolio[i].getPrice();
}
或者类似的东西...我没有关于链接列表的讲座/培训,所以我真的在尽我所能地自学——但我被困在基本的操作上。我现在正在使用 STL::list,但也确实在尝试创建自己的课程。
【问题讨论】:
-
你真的应该使用你的列表类的
iterator。不幸的是,我现在懒得告诉你怎么做,但请查一下!
标签: c++ object linked-list