Qt C ++ грамматика? - PullRequest
       10

Qt C ++ грамматика?

0 голосов
/ 29 марта 2009

Я изучаю Qt, нашел это:

Widget::Widget(QWidget *parent)
    : QWidget(parent), ui(new Ui::WidgetClass)
{
    ui->setupUi(this);
}

что означает ": QWidget (parent), ui (new Ui :: WidgetClass)"?

И как я могу получить документ C ++ об этом?

Ответы [ 2 ]

8 голосов
/ 29 марта 2009

Это ничего особенного в Qt, только часть C ++.

: QWidget(parent) просто вызывает базовый конструктор.

ui(new Ui::WidgetClass) это просто инициализируемый элемент.

Пример:

class B
{
public:
  B(int x)
  {
    myx = x;
  }

  int myx;
};

class D : public B
{
public:
   D() 
   : B(4), p(new char[1024])
   {
   }

   ~D()
   {
     delete[] p;
   }

   char *p;
};
4 голосов
/ 29 марта 2009

Конструкция называется списком инициализации и используется для инициализации базовых классов и / или переменных-членов в конструкторах классов.

Если вы хотите узнать о них больше (это важная концепция в C ++), посмотрите, например, этот документ или спросите 'google .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...