0 c++ composition initializer-list
我的问题是:例如我有两个类x和y
class X{
public:
X(int, int, string);
private: int a;
int b;
string c;
};
class Y{
private: X x[10];
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何通过Y的构造函数初始化这个10 x对象的数组?初始化列表?如何在y中初始化x的这10个对象.
在C++ 03中你不能这样做.
在C++ 11中,像这样:
class Y
{
private:
X x[3];
public:
Y()
: x { X(1, 2, "a"), X(2, 3, "b"), X(3, 4, "c") }
{
}
};
Run Code Online (Sandbox Code Playgroud)
或者你可以说:
: x { {1, 2, "a"}, {2, 3, "b"}, {3, 4, "c"} }
Run Code Online (Sandbox Code Playgroud)