[英]Making an array in a class with object count of another class in C++
如果我們在 c++ 中有兩個類 Movie 和 Movies 怎么辦。 電影 class 具有與 class 關聯的所有屬性和方法。 而 Movies class 是 Movie 對象的集合。 所以我從中了解到的是,我們必須在電影 class 中創建一個數組,其中包含電影 class 的所有對象,但是我們如何以這種方式編寫電影 class 的代碼?
使用向量比使用數組更好
#include <vector>
class Movie
{
...
};
class Movies
{
public:
...
private:
std::vector<Movie> data;
};
至於 class 的 rest,這完全取決於您。 想想你想要對一組電影進行哪些操作,然后編寫代碼。 例如,您可能想知道您的收藏中有多少部電影,您可能想將一部電影添加到您的收藏中,您可能想在您的收藏中找到一部特定的電影。 想想你想要什么並為此編寫代碼。
如果您不知道預先處理的對象數量(例如,您在main()
中使用 rng 生成Movie
對象,或者您的教授將創建隨機數量的對象),則使用向量。
另一種選擇是在構造函數中對它們進行計數,並通過 function 返回計數值作為Movies
中所需數組的大小:
class Movie
{
public:
Movie() { ++count; }
Movie(const Movie&) { ++count; }
Movie() { --count; }
static size_t movieCount()
{ return count; }
static size_t count;
};
size_t Movie::count = 0;
class Movies : public Movie
{
public:
Movie array[movieCount()];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.