2

重複の可能性:
C ++コンストラクター名に続くコロンは何をしますか?

私はこの構文がC++で奇妙だと思っています

TagDetails::TagDetails(QWidget *parent) :
QDialog(parent),
ui(new Ui::TagDetails)

これはC++でのコンストラクターの宣言です...コロンの後のことは何を表しますか、つまりui(new Ui :: TagDetails)はここで何を意味しますか?コロンは何のためにありますか?

4

3 に答える 3

5

メンバー初期化リストです。

ui(new Ui::TagDetails)は、メンバー変数uiが、新しく割り当てられたタイプのオブジェクトへのポインターで初期化されることを意味しますUi::TagDetails

于 2010-11-09T16:26:16.097 に答える
1

あなたが見ているのは初期化子リストです。クラスのメンバーは、クラスまたは名前空間内で定義されているui値で初期化されています。new Ui::TagDetailsTagDetailsUi

于 2010-11-09T16:26:56.647 に答える
0

これは初期化リストと呼ばれます。割り当てに対する初期化リストの長所については、C++FAQを参照してください。

私はこのサイトに精通していませんが、このページは物事がどのように機能するかを非常に徹底的に説明しているようです。

于 2010-11-09T16:27:45.670 に答える