我想是吧
Journal
没有默认构造函数,则需要初始化
journal
在里面
member initializer list
而不是在构造函数的主体中分配它。
成员初始值设定项列表是可以指定这些对象的非默认初始化的位置。对于无法默认初始化的成员,例如引用和常量限定类型的成员,必须指定成员初始值设定项。
即
Article::Article(int dId, QString dTitle, QList<QString> *dAuthors,
QList<QString> *dkeywords, QString dPublisher, int dPrice,
Journal dJournal,bool dReference, bool dBestSeller,
bool dCheckedOut, QDate *dCheckOutDate, Patron *dCustomer)
: Document(dId, dTitle, dAuthors, dkeywords, dPublisher, dPrice,
dReference, dBestSeller, dCheckedOut, dCheckOutDate, dCustomer),
journal (dJournal)
{}
否则
杂志
将首先尝试默认初始化,然后在构造函数的主体中分配。请注意,初始化和赋值是不同的事情;在构造函数体内赋值之前,
杂志
必须初始化。