我正在尝试创建一个动态的对象数组,类似于Java中的ArrayLists。我是C ++的新手,无法让它工作。
class Album{
private:
public:
void addPhoto(Photo p){
}
};
我的私人数据库应该是什么样子,如何添加p
?我出于某种原因需要指针吗?
答案 0 :(得分:2)
您应该使用std::vector。
答案 1 :(得分:2)
您查找的功能已经在stl collection classes中退出,并且在了解您的应用程序后,您将不得不告诉您天气需要指针。
底层容器的基本布局可能是这样的。
class Album{
public:
void addPhoto(Photo p){
Photos.push_back(p);
}
private:
std::vector<Photo> Photos;
};
答案 2 :(得分:0)
您可以使用内置的std :: vector类,其行为与ArrayList非常相似。 (编辑......看起来有人打败了我)
答案 3 :(得分:0)
@fontanini给了你一个很好的答案,如果你需要一个动态的对象数组,你应该使用vector。
但也许你不需要上课。并非C ++中的所有内容都需要封装在类中,除非您确实需要它。
考虑一下您的数据结构以及有哪些要求。您可能希望了解有关标准C ++库和STL的更多信息,以熟悉其他容器及其功能,限制和目标:
的精彩视频讲座