我需要实现不带参数的构造函数,该参数会将动态数组的项目初始化为零。我想做这样的事情:
MyType()
{
p = new int[Size];
for (int i = 0; i<Size; i++)
{
p[i] = 0;
}
}
但是我知道,默认构造函数无法使用任何参数来定义其大小。而且,稍后我需要从键盘输入动态数组的大小。 有什么解决办法吗?
答案 0 :(得分:5)
使用std::vector<int>
(是一个动态数组)作为类的成员。实际上,您不需要初始化,它支持高级概念,例如保留内存。
答案 1 :(得分:0)
如前所述,最好使用std::vector
而不是动态数组,否则您可能要自己承担使用realloc的风险。