c++ - 创建带参数的类实例

标签 c++ class constructor

这是类中的构造函数:

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/

相关文章:

c++ - 如何生成位图头数据然后使用C++写入文件

c++ - RcppArmadillo faSTLm 结果与 R 的 lm 不同,我做错了什么?

c++ - 通过引用将整数类型的变量传递给函数会比通过值更有效吗?

python - python 类 __init__ 函数的 PyCharm 模板

c# - 为什么我可以更改私有(private)静态只读字段但不能更改公共(public)字段?

c++ - FreeType 中的新线像素距离?

Android 找不到以下类 - EditText(更改为 android.widget.EditText、修复构建路径、编辑 XML)

c# - 如何使类可迭代?

java - 如何选择玩家加入游戏并开始游戏

javascript - 重定义构造函数原型(prototype)后,对象构造函数指向原始构造函数而不是prototype.constructor