2012-08-27 84 views
1

這是我在程序的代碼中發現:C++構造函數代碼...這叫做什麼?

pff::NAS::NAS(const NAS& p_Other) 
: pff::MCCI(_T("NAS"))   //<- ? 
, m_strS(_T("JustAString"))  //<- ? 
, m_strK(_T("JustAString"))  //<- ? 
, m_strR(p_Other.GetmystrR()) //<- ? 
, m_Swap() 
{ } 

我的問題是: 那些是什麼(//<- ?)-marked叫行?我很想搜索它應該做什麼以及爲什麼執行此代碼的人使用它。

回答

4

更多信息稱爲初始化列表。它用於初始化類/結構體成員變量的值。您可以在this漂亮的文章中看到更多關於此的信息。

1

,這些行初始化變量爲對象

pff::MCCI (inherited) 
m_strS 
m_str 
0

這些都是在類初始化你的領域。 這是它是如何做:現在

class MyClass{ 
private: 
    int my_int; 
public: 
    MyClass(int a):my_int(a){} 

的my_int字段包含的值。 你要做的是調用你想要初始化的字段的構造函數。