【发布时间】:2010-02-24 00:04:24
【问题描述】:
我正在上 CS 课,大部分作业都是用 Java 完成的。在上一个 java 作业中,我们学习了集合。这个作业我们使用的是 c++,我需要学习 STL 所需的书都是java的。我们得到了这个网页http://www.cplusplus.com/ 但是,那和谷歌不会让我完成任务。 你能推荐一本关于 STL 和 c++ 的好书吗?我主要需要学习 set 和 map。
这个作业是关于一个媒体库(书籍、cd、dvd 信息)
我们得到了一个可以使用的骨架程序,在图书馆课程中,我不确定集合和地图实际上是什么,关于书籍、CD、DVD 信息的内容......?有人可以根据功能告诉我什么设置/映射吗?
typedef set<Item*> ItemSet;
typedef map<string,Item*> ItemMap;
typedef map<string,ItemSet*> ItemSetMap;
class Library
{
public:
// general functions
void addKeywordForItem(const Item* const item, const string& keyword);
const ItemSet* itemsForKeyword(const string& keyword) const;
void printItem(ostream& out, const Item* const item) const;
// book-related functions
const Item* addBook(const string& title, const string& author, int const nPages);
const ItemSet* booksByAuthor(const string& author) const;
const ItemSet* books() const;
// music-related functions
const Item* addMusicCD(const string& title, const string& band, const int nSongs);
void addBandMember(const Item* const musicCD, const string& member);
const ItemSet* musicByBand(const string& band) const;
const ItemSet* musicByMusician(const string& musician) const;
const ItemSet* musicCDs() const;
// movie-related functions
const Item* addMovieDVD(const string& title, const string& director, const int nScenes);
void addCastMember(const Item* const movie, const string& member);
const ItemSet* moviesByDirector(const string& director) const;
const ItemSet* moviesByActor(const string& actor) const;
const ItemSet* movies() const;
};
【问题讨论】:
标签: c++