25 lines
355 B
C++
25 lines
355 B
C++
#pragma once
|
|
|
|
class CReferenceObject
|
|
{
|
|
public:
|
|
CReferenceObject();
|
|
virtual ~CReferenceObject();
|
|
|
|
void AddReference();
|
|
void AddReferenceOnly();
|
|
void Release();
|
|
|
|
int GetReferenceCount();
|
|
|
|
bool canDestroy();
|
|
|
|
protected:
|
|
virtual void OnConstruct();
|
|
virtual void OnSelfDestruct();
|
|
|
|
private:
|
|
int m_refCount;
|
|
bool m_destructed;
|
|
};
|