0

各位 C++ 程序员,您好,

今天我正在修补优秀的 Wt 框架 Wt - 一个用于开发 Web 应用程序的 C++ 库: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 中,所有小部件都放置在分层树中,因此可选的 parent 参数指定将包含我们的“新生”小部件的小部件。

“:Wt::WContainerWidget(parent)”部分发生了什么?我知道构造函数中“:”后面的表达式用于初始化成员变量,但这在这里似乎没有意义,因为它只是一个类名,而不是成员名......我错过了什么重要的东西?

非常感谢和问候,

朱利安

4

1 回答 1

1

这部分初始化列表:

: Wt::WContainerWidget(parent)

它使用参数调用基类(Wt::WContainerWidget)构造函数parent。您可以阅读此线程以获取更多详细信息。

于 2013-04-25T13:15:35.673 回答