Demostración de auto_ptr
c:
#include <iostream>
using std::cout;
using std::endl;
#include <memory>
using std::auto_ptr;
class Entero {
public:
Entero( int i = 0 ) : valor( i )
{ cout << "Constructor para Entero " << valor << endl; }
~Entero()
{ cout << "Destructor para Entero " << valor << endl; }
void estableceEntero( int i ) { valor = i; }
int obtieneEntero() const { return valor; }
private:
int valor;
}; // fin de la clase Entero
int main()
{
cout << "Creando un objeto auto_ptr que apunta "
<< "hacia un Entero\n";
auto_ptr< Entero > ptrHaciaEntero( new Entero( 7 ) );
cout << "Utilizando auto_ptr para manipular el Entero\n";
ptrHaciaEntero->estableceEntero( 99 );
cout << "Entero despues de estableceEntero: "
<< ( *ptrHaciaEntero ).obtieneEntero()
<< "\nTerminando programa" << endl;
return 0;
} // fin de la función main
using std::cout;
using std::endl;
#include <memory>
using std::auto_ptr;
class Entero {
public:
Entero( int i = 0 ) : valor( i )
{ cout << "Constructor para Entero " << valor << endl; }
~Entero()
{ cout << "Destructor para Entero " << valor << endl; }
void estableceEntero( int i ) { valor = i; }
int obtieneEntero() const { return valor; }
private:
int valor;
}; // fin de la clase Entero
int main()
{
cout << "Creando un objeto auto_ptr que apunta "
<< "hacia un Entero\n";
auto_ptr< Entero > ptrHaciaEntero( new Entero( 7 ) );
cout << "Utilizando auto_ptr para manipular el Entero\n";
ptrHaciaEntero->estableceEntero( 99 );
cout << "Entero despues de estableceEntero: "
<< ( *ptrHaciaEntero ).obtieneEntero()
<< "\nTerminando programa" << endl;
return 0;
} // fin de la función main