你好C ++程序员,
今天我正在修补优秀的Wt框架Wt - 一个C ++库 开发Web应用程序:http://www.webtoolkit.eu/wt。
缓慢而稳定地我正在取得进步。让我好奇的一件事是 (我对C ++很陌生)构造函数中的以下表达式 派生自基本Wt :: WContainerWidget类的类:
class FooWidget : public Wt::WContainerWidget
{
public:
FooWidget(Wt::WContainerWidget *parent = 0);
...
private:
...
};
FooWidget::FooWidget(Wt::WContainerWidget *parent = 0)
: Wt::WContainerWidget(parent)
{
...
};
注意: 在Wt中,所有小部件都放在一个分层树中,因此可选的父参数指定将包含我们的“新生”小部件的小部件。
“Wt :: WContainerWidget(parent)”部分发生了什么? 我知道构造函数中“:”后面的表达式用于初始化 成员变量,但这似乎没有意义,因为它只是一个 班级名称,而不是成员的名字......我错过了重要的事情吗?
非常感谢提前和问候,
儒略
答案 0 :(得分:1)
这部分初始化列表:
: Wt::WContainerWidget(parent)
它使用参数Wt::WContainerWidget
调用基类(parent
)构造函数。您可以阅读此thread了解更多详情。