这是类中的构造函数:
Course(int courseId, Instructor instructor, string courseName, string dept)
: courseId(courseId)
, instructor(instructor)
, courseName(courseName)
, dept(dept)
{ };
我的问题是第二个参数讲师教练。究竟是什么意思,因为我从来没有见过这样的两个类混合?
答案 0 :(得分:1)
这意味着您需要将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);