使对象的析构函数不能调用成员的析构函数?

时间:2015-10-29 04:12:44

标签: c++ pointers vector destructor

我想将对象存储在矢量中。但是当我清除向量时,我希望调用对象析构函数,但我不希望它的某些成员析构函数被调用?我怎样才能做到这一点?

class Officer
{
public:
    CPed* m_pOfficer;
    CVehicle* m_pPatrolVeh;
    char m_pCallSign[16];
    unsigned short m_nUnitNum;
}

我不想要调用m_pOfficer和m_pPatrolVeh析构函数。

1 个答案:

答案 0 :(得分:0)

如果这两个陈述......

delete m_pOfficer;
delete m_pPatrolVeh;

...在官员的析构函数中不存在,然后这些指针指向的任何内容都不会在官员对象的销毁中被销毁。问题是,你还有其他东西指向那些数据吗?

从设计的角度来看,这不会受到鼓励。也许你可以告诉我们更多关于你的目标是什么。