SpObject.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:1k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. Cross Platform Core Code.
  3. Copyright(R) 2001-2002 Balang Software.
  4. All rights reserved.
  5. Using:
  6. class Object
  7. */
  8. #if !defined( __SP_OBJECT_H__ )
  9. #define __SP_OBJECT_H__
  10. class STKLIB_API Object
  11. {
  12. public:
  13. virtual ~Object();
  14. void* operator new( size_t nSize );
  15. void* operator new( size_t nSize, void *p);
  16. void operator delete( void *p );
  17. #if _MSC_VER>=1200
  18. void operator delete(void* p, void* pPlace);
  19. #endif
  20. #ifdef _DEBUG
  21. void* operator new(size_t nSize, LPCSTR lpszFileName, int nLine);
  22. #if _MSC_VER >= 1200
  23.         void PASCAL operator delete(void *p, LPCSTR lpszFileName, int nLine);
  24. #endif
  25. #endif
  26. // can't make Object instance directly.
  27. protected:
  28. Object();
  29. public:
  30. virtual void AssertValid( ) const;
  31. virtual void Dump( ) const;
  32. ////////////////////////////////////////////////////////////////
  33. // Error status, provide record error status
  34. public:
  35. enum
  36. {
  37. #define _SPRING(errCause) errCause,
  38. #include "SpObjErr.inl"
  39. #undef _SPRING
  40. errorEnd
  41. };
  42. int GetLastError( ) const;
  43. LPCSTR GetLastErrorString( ) const;
  44. protected:
  45. void SetLastError( int nErr );
  46. private:
  47. int m_nErrorStatus;
  48. };
  49. #ifdef _SP_ENABLE_INLINES
  50. #define _SPOBJ_INLINE inline
  51. #include "SpObject.inl"
  52. #undef _SPOBJ_INLINE
  53. #endif
  54. #endif // __SP_OBJECT_H__