Implement smart pointer smart port in Brew [primary]

xiaoxiao2021-03-06  39

Template

Class CTJBrewPtr

{

PUBLIC:

TYPEDEF T ELEMENT_TYPE;

// ctor

Explicit CTJBrewPtr (T * pval = 0) throw ()

{

IF (PVAL)

m_autoptr = pval;

Else

m_autoptr = NULL;

i = 0;

}

// Copy Ctor

CTJBrewPtr (Const CTJBrewTR & Ptrcopy) Throw ()

{

IF (Ptrcopy)

m_autoptr = ptrcopy;

Else

m_autoptr = NULL;

i = 0;

}

// overloading = Operator

CTJBrewPtr & Operator = (CTJBrewptr & Ptrcopy) throw ()

{

IF (Ptrcopy)

M_AUTOPTR = & PTRCOPY;

Else

M_AUTOPTR = 0;

Return M_Autoptr;

}

// Dtor

~ Ctjbrewptr ()

{

IF (M_Autoptr)

{

Delete M_Autoptr;

}

}

// overloading * Operator

T & Operator * () const throw ()

{

Return * m_autoptr;

}

// overloading -> Operator

T * Operator -> () const throw ()

{

Return M_Autoptr;

}

// Function to get the point to the class

T * GET () const throw ()

{

Return M_Autoptr;

}

Private:

T * m_autoptr;

UINT32 I;

}

转载请注明原文地址:https://www.9cbs.com/read-75272.html

New Post(0)