在C ++中的类构造函数中列出初始化

时间:2016-08-20 13:05:33

标签: c++ c++14

我是C ++的新手,如何为矢量制作构造函数让我很困惑。我有一个这样的课:

class myClass{
public:
    myClass();
    ......
private:
    std::vector<double> myVariable;
    ......
}

我想为

编写一个构造函数
myClass{1.2, 2.0, 3.1, 4.0};

我该怎么做?

2 个答案:

答案 0 :(得分:6)

您需要一个接受std::initializer_list的构造函数:

explicit myClass(std::initializer_list<double> init) : myVariable(init) {}

答案 1 :(得分:0)

您可以先创建一个向量,向其中插入元素,将其传递给myClass构造函数,然后将其赋值给类成员向量:

class myClass
{
public:
    myClass(const std::vector<double> &src)
        : myVariable(src)
    {
    }

    private:
        std::vector<double> myVariable;
};

int main()
{
    std::vector<double> myvect{1.2, 2.0, 3.1, 4.0};
    myClass obj(myvect);
}