我是C ++的新手,如何为矢量制作构造函数让我很困惑。我有一个这样的课:
class myClass{
public:
myClass();
......
private:
std::vector<double> myVariable;
......
}
我想为
编写一个构造函数myClass{1.2, 2.0, 3.1, 4.0};
我该怎么做?
答案 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);
}