2011-09-28 143 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

相关问题