这是类中的构造函数:
Course(int courseId, Instructor instructor, string courseName, string dept)
: courseId(courseId)
, instructor(instructor)
, courseName(courseName)
, dept(dept)
{ };
我的问题是第二个参数 Instructor instructor。这到底是什么意思,因为我从未见过像这样混合两个类?
最佳答案
表示需要传递一个Instructor
对象给它,就像第一个参数表示它接受一个int
对象,第三个和第四个接受字符串
对象。例如:
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);
关于c++ - 创建带参数的类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21959191/