插入 c++ eclipse 的指针列表
list of pointers inserting c++ eclipse
我有一个关于电影行业的项目。
在我的主要 class、movieInudtsry 中,我有一个名为 "movies" 的 电影列表 ,在我的 class 工人 我为每个工人 电影指针列表 调用 "moviesOfWorker" ,我希望这个列表指向"movies" 列表中的相关电影。
这是 MovieIndustry 的相关代码:
class MovieIndustry {
list<Movie> movies; //list of all movies
public:
void addWorkerToMovie(int idOfWorker, int codeOfMovie);
这是Worker中addMovieToWorker的相关代码class:
class Worker {
std::list<Movie*> moviesOfWorker;
public:
void Worker::addMovieToWorker(const Movie& toAdd){
moviesOfWorker.push_back(new Movie());
moviesOfWorker->toAdd;
}
此代码出错,我不确定它是否正确。
问题是我如何每次动态分配指向 toAdd (在 MovieIndustry 列表中)的指针?我不想创建另一个实例,我希望它指向我的 movieIndustry class 的列表 "movies" 中的一个实例,但我不明白如何每次都插入它。
帮助..?
您 不必 动态分配指针。您可以使用地址运算符 (&object
) 获取现有对象的地址。
moviesOfWorker.push_back(&toAdd);
我有一个关于电影行业的项目。 在我的主要 class、movieInudtsry 中,我有一个名为 "movies" 的 电影列表 ,在我的 class 工人 我为每个工人 电影指针列表 调用 "moviesOfWorker" ,我希望这个列表指向"movies" 列表中的相关电影。 这是 MovieIndustry 的相关代码:
class MovieIndustry {
list<Movie> movies; //list of all movies
public:
void addWorkerToMovie(int idOfWorker, int codeOfMovie);
这是Worker中addMovieToWorker的相关代码class:
class Worker {
std::list<Movie*> moviesOfWorker;
public:
void Worker::addMovieToWorker(const Movie& toAdd){
moviesOfWorker.push_back(new Movie());
moviesOfWorker->toAdd;
}
此代码出错,我不确定它是否正确。 问题是我如何每次动态分配指向 toAdd (在 MovieIndustry 列表中)的指针?我不想创建另一个实例,我希望它指向我的 movieIndustry class 的列表 "movies" 中的一个实例,但我不明白如何每次都插入它。 帮助..?
您 不必 动态分配指针。您可以使用地址运算符 (&object
) 获取现有对象的地址。
moviesOfWorker.push_back(&toAdd);