重载运算符 - =:
RentACar& operator-=(const Automobile& av)
在RentACar中,我有一个动态分配的Automobile * a
数组因此,假设任何a
与a.brand
具有相同的av.brand
,则应删除a并为一个对象释放已分配的内存。
我不知道如何用向量写字并推回,无论如何,我为考试而学习,我们从来没有使用过任何理由的矢量因此我不能在考试中使用它们所以我必须这样做,即使它是一个愚蠢的实施!
谢谢!
答案 0 :(得分:2)
首先,您必须找到要删除的对象:
std::find_if
对此有好处,但如果是课堂作业,那就是他们
可能希望你编写自己的线性实现
搜索。找到条目后,你delete
指针,
并将其设置为null(并确保所有其他逻辑都有效
当数组中有空指针时,或者shift
以下所有条目都是一个。 (std::copy
可以
用于班次。)当然,如果你转移,你也会
跟踪数组中有效条目的结束位置。
创建新数组时没有任何理由 删除对象。只需跟踪逻辑结束 阵列。