Это конструктор в классе:
Course(int courseId, Instructor instructor, string courseName, string dept)
: courseId(courseId)
, instructor(instructor)
, courseName(courseName)
, dept(dept)
{ };
Моя проблема связана со вторым инструктором инструктора. Что именно это означает, потому что я никогда не видел смешивания двух классов, подобных этому?
Это означает, что вам нужно передать ему объект Instructor
, так же как первый параметр означает, что он принимает объект int
, а третий и четвертый принимают string
объекты. Например:
int courseId = 0;
Instructor instructor; // Here we default construct an Instructor
std::string courseName = "Foo";
std::string dept = "Bar";
Course my_course(courseId, instructor, courseName, dept);
// ^^^^^^^^^^
// Here the Instructor is being passed
Это объявление instructor
будет работать только в том случае, если у Instructor
есть конструктор по умолчанию, который я предполагаю, что это не так. Если у конструктора для Instructor
есть некоторые параметры, вам необходимо передать их так:
Instructor instructor(some, params, here);
Instructor
для созданияCourse
(и копия этого объекта будет сохранена в созданном объектеCourse
)std::string
...