我有一个包含一个医生级别的程序,以及每名医生对象有“病人”的链接列表。这些患者是使用以下代码行创建的C++删除指针
Patient * patient = new Patient(string firstname, string ailment);
然后将此患者添加到医生的链接列表中。 Doctor类中有一个指针,用于指向并遍历列表并获取每个患者。当我想要删除这些患者时,我必须从列表的开始处开始并遍历每个患者。我的问题是,我是否可以通过在遍历它们时简单地调用它们的析构函数来删除eacg患者?
Patient::~Patient(){
}
还是我需要实际调用指针删除指针,因为它指向每个员工?
你的意思是,'病人*病人=新病人(串名字,串疾病);'? –
@slugonamission:你可以直接调用析构函数。 –
这取决于你的链表是如何实现的。如果每个Patient类存储一个指向下一个Patient的指针,那么在对每个Patient调用delete之前,您需要获取指向下一个的指针 – oggmonster