将对象传递给构造函数 SDL2.0 C++ 时语法混乱

Confusing syntax when passing in an object to a constructor SDL2.0 C++

从某种意义上说,这是一个不同的问题,我的代码可以正常工作,但我不确定它在做什么,我正在学习有关在 SDL 2.0 中进行渲染的教程。

我有以下构造函数来初始化要呈现的矩形的成员值:

rect::rect(const Window &window, int otherValues):Window(window), _memberValues(otherValues)

创建矩形对象时,我将 window 对象和初始化值传入构造函数,如下所示:

rect ro(window,someNumbers);

我的问题是我不明白

是什么意思
const Window &window

Window(window)

或者它们的确切含义。我知道如何初始化成员并将值传递给构造函数,但我不知道我的 window 对象的上下文中发生了什么。

如有任何解释,我们将不胜感激。

const Window &window 是类型为 Window.

的名为 window 的常量 (const) 引用 (&)

const关键字表示不可修改,&表示按引用传递而不是按值传递(即不复制)。

Window(window) 是对 Window 的复制构造函数的调用,上面提到的 window 作为参数传入。据推测 rect 继承自 Window 因此为了构建 rect 它的 Window 也必须被构建。