0

我的问题是:例如我有两个类 x 和 y

class X{
public:
      X(int, int, string);

private: int a;
         int b;
         string c;
};

class Y{

private: X x[10];
}

我的问题是如何通过 Y 的构造函数初始化这个 10 x 对象的数组?初始化列表?如何在 y 中初始化 x 的这 10 个对象。

4

1 回答 1

6

在 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") }
    {
    }
};

或者你可以说:

    : x { {1, 2, "a"}, {2, 3, "b"}, {3, 4, "c"} }
于 2013-09-10T18:48:49.343 回答