成员初始化

时间:2016-05-03 12:58:16

标签: c++

我正在将Ghost类的固定大小的对象数组与另一个类板相关联。 ghost类具有默认构造函数,如下所示:

Ghosts(int x = 0, int y=0)
{
    x_pos = x;
    y_pos = y;
}

我的董事会课程的一部分如下:

class Board {
private:    

    Ghosts G[4];

public:

    Board(): G[0](11,18),G[1](13,21),G[2](15,18),G[3](13,18)
    {
        G[0].name("Pinky");
        G[1].name("Blinky");
        G[2].name("Inky");
        G[3].name("Clyde");
    }

问题在于我的成员初始化列表或者我的方法。非常感谢帮助。谢谢!

2 个答案:

答案 0 :(得分:5)

成员初始值设定项列表只能命名成员。 G是会员。 G[0]不是。

您可以将其更改为: G{ {11,18}, {13,21}, {15,18}, {13,18} }

答案 1 :(得分:0)

这样的事情怎么样:

Ghosts(int x = 0, int y=0, std::string name = "")
{
    x_pos = x;
    y_pos = y;
    this->name = name;
}

Board()
{
    G[0] = Ghost(11,18, "Pinky");
    G[1] = Ghost(13,21, "Blinky");
    G[2] = Ghost(15,18, "Inky");
    G[3] = Ghost(13,18, "Clyde");
}