c++ - 带数组参数的构造函数

标签 c++ class oop constructor

我想创建一个具有数组和数组大小的构造函数,以便我可以使用此调用对象:Multitime m1 = Multime({1, 2, 3}, 3); 或者我应该改用 std::vector 吗?

class Multime
{
private:
    int elemente[100];
    int size;
public:
    Multime(){}
    Multime(int el[50], int s){
        this -> size = s;
        for(int i = 0; i < this -> size; i++)
            this -> elemente[i] = el[i];
    }
};

int main()
{
    Multime m1 = Multime({1, 2, 3}, 3);
    return 0;
}

我得到没有匹配的“Multitime”初始化构造函数

最佳答案

Or should I use std::vector instead?

这是个好主意。

class Multime
{
private:
    std::vector<int> elemente;
public:
    Multime() {}
    Multime(std::vector<int> el) : elemente(std::move(el)) {}
};

int main()
{
    Multime m1 = Multime({ 1, 2, 3 });
    return 0;
}

关于c++ - 带数组参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56903790/

相关文章:

ARM 设备上代码优化的 C++ 技巧

c++ - 继承的典型问题

c++ - waitpid() 后来自 WTERMSIG 宏的异常信号编号

java - 如何使用 Class 对象声明指定类型的 ArrayList

java - 在java中扩展类并实现接口(interface)

c++ - C++中如何管理成员变量

c++ - 如何在Arduino/C/C++中将带有 bool 值的数组转换为字节?

python - 我是否理解 Python 中实例属性和类属性之间的区别?

arrays - D 编程语言中的指针、函数和数组

ruby-on-rails - Rails 架构问题