2009-03-29 3 views
0

Ich lerne Qt, fanden diese:Qt C++ Grammatik?

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

was ": QWidget (Eltern), ui (neu Ui :: Widget)" bedeuten?

Und wie kann ich das C++ Dokument darüber bekommen?

Antwort

8

Dies ist nichts besonderes mit Qt, nur ein Teil von C++.

: QWidget(parent) ruft nur den Basiskonstruktor.

ui(new Ui::WidgetClass) ist nur ein Mitglied wird initialisiert.

Beispiel:

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; 
}; 
+0

Wie kann ich diese Referenz erhalten? Ich habe mir nur das angesehen: http://www.cplusplus.com/doc/tutorial/namespaces.html – linjunhalida

+0

Die meisten Bücher über C++ - Programmierung werden dies abdecken –

4

Das Konstrukt aufgerufen wird eine Initialisierungsliste und wird verwendet, Basisklassen und/oder Elementvariablen in Klasse Konstruktoren zu initialisieren.

Wenn Sie mehr darüber erfahren möchten (es ist ein wesentliches Konzept in C++), siehe zum Beispiel this document oder ask 'the' google.