On 6/7/07, personaje <[EMAIL PROTECTED]> wrote:
On 6/7/07, personaje <[EMAIL PROTECTED]> wrote:
>
>
>
> On 6/7/07, Sebastian Durandeu < [EMAIL PROTECTED]> wrote:
> >
> > Quiero crear una clase parametrizada para aplicar el patron singleton
> > en C++.
> > Compila pero no me funciona correctamente, puntualmente tira
> > segmentation fault. Estoy seguro que estoy cometiendo algun error (sino
> > varios) en la forma de utilizarla pero no se cual :)
> >
> >
> > Cuando hago:
> >
> > Campo* miCampo = Campo::get_instance();
> > miCampo->set_tamanio(5); ----> ACA PINCHA y miCampo no es NULL!
>
>
> a mi me anda, con una funcion dummy para set_tamanio()... usando gcc!
> quizás estás metiendo la pata en alguna porción de código que no nos
> compartiste
>
retiro lo dicho, le agregué el destructor y un delete miCampo; y me
apareció SIGSEV
claro, ahora caigo, estás haciendo delete de la propia clase... no deberías
hacer algo tipo
idem todo tu código de arriba pero; Campo no hereda de Slingleton<Campo> y
creas una clase así:
class SingleCampo : public Singleton<Campo>
{
public:
SingleCampo(){};
virtual ~SingleCampo(){};
private:
};
// y el main te queda :
int main()
{
Campo* miCampo = SingleCampo::get_instance();
miCampo->set_tamanio(5);
SingleCampo::delete_instance();
}
o sin el delete_instance() total los singletons pueden vivir hasta el fin
del programa...
--
v3sw6Chw5ln6pr7Ock3ma8u9Lw3Xm5l7Gi2Ce6t6Gb8Ten4g6OPa28s5Mr1p8
hackerkey.com
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion