765sese:条款7 为多态基类声明virtual析构函数 2024-04-23 22:09:34 0 0 条款7 为多态基类声明virtual析构函数 如有以下关系,不使用virtual关系会出现资源泄漏//base classclass TimeKeeper{ public: virtual TimeKeeper* getTimeKeeper() { return NULL; }};class AtomTimeKeeper: public TimeKeeper{ public: AtomTimeKeeper(){ pData=new char[100]; } TimeKeeper* getTimeKeeper() { return myAtom; } private: int a; char * pData; static AtomTimeKeeper* myAtom;};AtomTimeKeeper* AtomTimeKeeper::myAtom = new AtomTimeKeeper();int main(){ AtomTimeKeeper myAtom; TimeKeeper* pTime=myAtom. getTimeKeeper(); delete pTime;//这将引起部分内存泄漏 return 0;} 收藏(0)