c++ - 为什么我的电影类在创建电影实例时遇到问题?
问题描述
我正在尝试创建一个Movie
类的实例,以便可以将其添加到电影列表中,并与电影播放时间列表配对。但是,无论出于何种原因,它都在说尝试制作电影实例时出错。我认为构造函数可能存在错误,因为我的教授希望我们Date releaseDate
保持不变,但我无法让一切正常工作。
这是错误消息
初始化器值太多 “const char”类型的值不能用于初始化电影类型的实体 * 初始化:无法从“初始化列表”转换为“电影 *”
这是我试图用来创建实例Movie
然后将其添加到电影列表中的代码cinema
:
Movie * movie ("Superman", 1988, 11, 08);
cinema.addMovie(movie, time1);
这是Movie
课程:
class Movie
{
public:
Movie(string & name, int yyyy, int mm, int dd) : name(name), releaseDate(Date(yyyy, mm, dd)) {};
const Date & getReleaseDate();
// other?
bool operator < (Movie& r);
bool operator == (Movie &);
Movie & operator ++ ();
friend ostream & operator << (ostream &, Movie &);
friend ostream & operator << (ostream &, const Movie &);
private:
Movie() = default;
const Date releaseDate;
string name;
int rating;
};
这是Date
类,它位于Movie
类中并在构造函数中需要:
class Date
{
public:
Date(int = 0, int = 0, int = 0);
//….
// other as appropriate
bool operator < (Date&);
bool operator == (Date &);
friend ostream & operator <<(ostream &, const Date &);
private:
int day, month, year;
};
还有这个Cinema
类,我最终希望通过添加类将其放入:
class Cinema
{
public:
Cinema() = default;
Cinema(Cinema &);
void addMovie(Movie *, list<int> & );
friend ostream & operator << (ostream &, Cinema &);
//Movie * operator[](int);
void movieRunningAt(Movie &, list<int> & );
void printShowTimes(const Movie *);
void printAll() const;
private:
std::list<Movie *> movies;
map<const Movie*, list<int>> movie_times;
};
和addMovie()
功能Cinema
:
void Cinema::addMovie(Movie * m, list<int> & li)
{
movie_times.insert(make_pair(m, li));
}
解决方案
Movie * movie ("Superman", 1988, 11, 08);
在上述行中,您声明的是指向电影的指针 ( Movie *
),而不是Movie
对象本身。指针不接受构造函数参数。
也许您打算这样做:
Movie * movie = new Movie("Superman", 1988, 11, 08);
推荐阅读
- python-3.x - python 3使用AES加密和解密图像
- c++ - 如何使用 regex_search 获取报价中的内容
- python - 我怎么做才能让我的方格可以降落在我的另一个方格上并留在上面
- python - 使用 Python 更新 JSON 中的值
- r - 如何为 ggplot 图例赋值?
- javascript - node.js 应用服务器的结构是什么?
- apache - 在 centos 8 上安装 Apache/2.4.37 时出错
- image - 我的 png 图像有什么问题,它在不同的上下文中改变颜色?
- c# - 在后台运行函数,同时保持 UI 可交互 C# Xamarin
- python-3.x - 如何使用逗号分隔存储 JSON 数据帧