2015-10-02 253 views
-2

我是C++的新手,並試圖理解與OpenCV相關的代碼。它有一個類如下:C++類,需要幫助

class Settings 
{ 
public: 
    Settings() : goodInput(false) {} 
    enum Pattern { NOT_EXISTING, CHESSBOARD, CIRCLES_GRID, ASYMMETRIC_CIRCLES_GRID }; 
    enum InputType { INVALID, CAMERA, VIDEO_FILE, IMAGE_LIST }; 
. 
. 
. 
. 
} 

Settings() : goodInput(false) {}這是什麼意思。我不認爲它是一個構造函數。請解釋一下。

+0

它是一個帶有初始化列表的空內聯構造函數{}但是隻有一個元素 – Micka

+0

我希望在某個類中有一個'bool goodInput'。 –

回答

2

它確實是一個構造函數。在:之後看到的內容稱爲初始值設定項列表,並在輸入大括號之前初始化值。

你也應該知道,一個類的成員變量是總是在進入構造函數體之前被初始化。如果你沒有在初始化列表中提到成員變量,它將被默認初始化。

+0

如何以這種方式初始化多個變量? –

+0

@AmeerHamza'設置():goodInput(false),otherVariable(true){}' –

0

它將(默認)初始值false分配給成員(可能)檢查輸入的有效性。