2011-09-28 192 views
-3

我想初始化一個默認的類初始值設定項列表中的結構。舉例來說,如果我有一個像這樣的類:如何初始化類構造函數列表中的結構?

class Foo 
{ 
private: 
    int x; 
    int y; 
    int z; 
    somestruct p; 
public: 
    Foo(): x(1), y(2), z(3) 
    { 
     // other stuff 
    } 
}; 

所以,我可以明確地初始化基本類型這樣 - 我怎麼初始化一個結構,例如somestruct p參數?如果以這種方式進行初始化,是否對p的設計有任何限制?

+0

你能提供一些代碼嗎?我真的無法想象這一點。 –

+0

顯示代碼,或者很難理解你究竟在做什麼。 – abelenky

+0

這個問題構造得很差。請多做一點努力。 –

回答

4

在下面的代碼中,m_strctMyClass的成員,並且由默認構造函數初始化。

struct MyStruct 
{ 
    MyStruct(int i): // Constructor 
     myData(i) 
    { } 

    int myData; 
}; 

class MyClass 
{ 
public: 
    MyClass() : // default constructor 
     m_strct(0) 
    { } 

private:  
    MyStruct m_strct; 
}; 
+0

糟糕,我更多地將它寫成C#答案,當它應該是C++。感謝@ildjarn對我進行修理。 – abelenky

相關問題