如何在复合c++中展开指针数组

how to expand array of pointer in composition c++

本文关键字:指针 数组 c++ 复合      更新时间:2023-10-16

我有一个类company,它有一个来自保险类别的对象,对象是指针数组,数组的大小为5。我想在不改变Size的情况下将其扩展到6。

这是我已经有的,但是我得到一个运行时错误

*Insurance_category *temp = new Insurance_category[Size]; //Size is the old Size (5)
copy(*IC,*IC+Size,temp); //temp=IC
delete[] IC;
*IC=new Insurance_category[Size+add]; //IC is the object from the class insurance category
copy(temp,temp+Size+add,*IC); //IC=temp
Size+=add;                       
for(int y=Size-add;y<Size+add;y++)
{
    IC[y]->set_LevelName();
    IC[y]->set_OverallAnnualBenefit();
    IC[y]->set_PeriodOfCover();
}

不使用数组,而是尝试使用向量。vector是可调整大小的,这样你就不必改变size这个变量了