C ++在构造函数中使用数组启动对象

崛起之影

我正在尝试使用数组启动一个对象。有没有办法用指针来做到这一点,或者我应该找到另一种方法来做到这一点。

编辑:我想用动态内存分配编写这段代码,我知道向量是解决这个问题的更好方法。

#include <iostream>

template <class t>
class die {
private:
    int sideCount;
    t* valueOfSides;
public:
    die(int side, t arr[]) {
        sideCount = side;
        valueOfSides = (t*)malloc(side * sizeof(t));
        for (int counter; counter < side; counter++) {
            valueOfSides[counter] = val[counter];
        }
    }

    ~die() {
        free(valueOfSides);
    }
};

int main() {
    die<int> sixsided(6, {1,2,3,4,5,6});
} 
爱德华多·马罗托·坎波斯

C++ 解决方案:


template <class t>
class die {
private:
    int sideCount;
    t* valueOfSides;
public:
    die(int side, t arr[]) {
        sideCount = side;
        valueOfSides = new T[side]
        for (int counter = 0; counter < side; counter++) { //always initialize variables
            valueOfSides[i] = arr[i];
        }
    }

    ~die() {
        delete[] valueOfSides;
    }
};

int main() {
    int arr[6] = { 1,2,3,4,5,6 };
    die<int> sixsided(6, arr);
}

new运营商就像是mallocdeletedelete[]运营商都喜欢free它们是动态分配器。

C 解决方案:

template <class t>
class die {
private:
    int sideCount;
    t* valueOfSides;
public:
    die(int side, t arr[]) {
        sideCount = side;
        valueOfSides = (t*)malloc(side * sizeof(t));
        for (int counter = 0; counter < side; counter++) { //always initialize variables
            valueOfSides[i] = arr[i];
        }
    }

    ~die() {
        free(valueOfSides);
    }
};

int main() {
    int arr[6] = { 1,2,3,4,5,6 };
    die<int> sixsided(6, arr);
}

注意:在 C 中,<iostream>头文件不起作用,这仅适用于 C++。

还有其他容器,即std::vector,可以工作,但这是您答案的解决方案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在C中使用包含多种对象或函数的数组

如何在C ++中使用构造函数(只是构造函数)在类中初始化大型私有数组?

在构造函数中使用“ new”?C ++

构造函数中使用lambda的C ++类

如何在 C# 中使用其构造函数创建对象的副本?

在C ++中使用指向内部类对象的指针作为外部类构造函数参数

C使用构造函数创建结构数组

在类C ++中使用构造函数为char数组提供默认值

在c++中使用数组实现堆栈中大小的构造函数

Objective-C:如何使用引用数组的构造函数创建对象实例

为什么在C ++中我无法使用参数化构造函数声明动态对象数组?

C++ 使用构造函数同时创建一个带有数组的对象

在C ++中使用对象中函数的结果对对象数组进行排序

在使用C malloc的C ++构造函数中使用new

在 C++ 中使用和不使用构造函数调用初始化对象有什么区别

具有构造函数的新对象数组,该构造函数需要C ++中的参数

C ++-如何在另一个类中使用私有构造函数实例化对象

如何在 C++ 中使用具有另一个类对象的构造函数?

在main函数(C)中使用数组

C中使用数组作为参数的函数

如何将构造函数表达式放入数组中并在C#中使用它们?

在g ++中使用版本脚本导出c ++构造函数

如何避免在 C++ 中使用静态构造函数?

无法在构造函数中使用括号括起来的列表-C ++

多边形,在构造函数中使用的重写方法-C ++

在C ++中使用不同的struct复制构造函数

如何在C#中使用构造函数调用方法?

在C ++中使用构造函数参数创建向量

如何在C ++中的类构造函数中使用线程?