public: //Object model(types,destruction,allocation) virtual CRuntimeClass*GetRuntimeClass () const; virtual~CObject();//virtual destructors are necessary //Diagnostic allocations void*PASCAL operator new(size-t nSize); void*pascal operator new(size-t,void*p); void PASCAL operator delete(void*p); #if defined(-DEBUG)&&!defined(-AFX-NO-DEBUG-CRT) //for file name/line number tracking using DEBUG-NEW void* PASCAL operator new(size-t nSize,LPCSTR 1pszFileName,int nLine); //Disable the copy constructor and assignment by default //so you will get compiler errors instead of unexpected //behavior if you pass objects by value or assign objects. protected: CObject();