使用参数创建类实例

时间:2014-02-22 19:16:55

标签: c++ class constructor

这是类中的构造函数:

Course(int courseId, Instructor instructor, string courseName, string dept) 
    : courseId(courseId)
    , instructor(instructor)
    , courseName(courseName)
    , dept(dept)
{ };

我的问题是第二个参数讲师教练。究竟是什么意思,因为我从来没有见过这样的两个类混合?

1 个答案:

答案 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);