我想将对象存储在矢量中。但是当我清除向量时,我希望调用对象析构函数,但我不希望它的某些成员析构函数被调用?我怎样才能做到这一点?
class Officer
{
public:
CPed* m_pOfficer;
CVehicle* m_pPatrolVeh;
char m_pCallSign[16];
unsigned short m_nUnitNum;
}
我不想要调用m_pOfficer和m_pPatrolVeh析构函数。
答案 0 :(得分:0)
如果这两个陈述......
delete m_pOfficer;
delete m_pPatrolVeh;
...在官员的析构函数中不存在,然后这些指针指向的任何内容都不会在官员对象的销毁中被销毁。问题是,你还有其他东西指向那些数据吗?
从设计的角度来看,这不会受到鼓励。也许你可以告诉我们更多关于你的目标是什么。