Привет товарищи по программированию на C ++,
сегодня я возился с отличным Wt-фреймворком Wt — библиотекой 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 все виджеты размещаются в иерархическом дереве, поэтому необязательный родительский аргумент определяет виджет, который будет содержать наш «новорожденный» виджет.
Что происходит в части «: Wt :: WContainerWidget (parent)»?
Я знаю, что выражения «:» в конструкторе используются для инициализации
переменные-члены, но это не имеет смысла, потому что это просто
имя класса, а не имя члена … я что-то упустил?
Большое спасибо заранее и всего наилучшего,
юлианский
Эта часть списка инициализации:
: Wt::WContainerWidget(parent)
это вызов базового класса (Wt::WContainerWidget
) конструктор с аргументом parent
, Вы можете прочитать это нить Больше подробностей.
Других решений пока нет …