201

201



Smartptr.h

#include <stdio.h>

//Wskazówka 58.

//Wskazówka 60.

template <dass T> class BaseSmartPointer

{

private:

// Konstruktor kopiowania i operator = są prywatne, aby uniknąć kopiowania // wskaźników między dwoma inteligentnymi wskaźnikami. BaseSmartPointer<T>&operator=(BaseSmartPointer<T>&bsp)

{

return *this;

}

BaseSmartPointer(BaseSmartPointer<T>&bsp)

{

}

protected:

T *m_pt; public:

BaseSmartPointer(T *pt=NULL) : m_pt(pt)

{

}

virtual ~BaseSmartPointer()

{

if(m_pt)

delete m_pt; m_pt = NULL;

T &operator*() const

{

return *m_pt;

}

T*operator=(T *pt)

{

if(m_pt)

delete m_pt; m_pt = pt; return m_pt;

};


Wyszukiwarka

Podobne podstrony:
2002 TIF /Wskazówka 59. template <class T> class ObjectSmartPointer : public BaseSmartPointer
faq pliki1 #include <stdio.h> #include <conio.c> //I #include <fstrearn> int
fopen2 #include <stdio.h> FILE * fopen(char * ścieżka, char * typ);
fprintf1 #include <stdio.h> int fprintf(FILE * stream, char * Format[, wartość,...]); int fsca
Image2 #include <stdio.h> int main () // kod znaku 0 = 4
Image3 **************************************************** ■-V #include <stdio.h>) . Vj^/int
PA240169 #inchidc <conio.h> //zawiera funkcję getcharO #include <stdio.h> //zawiera funk

więcej podobnych podstron