Article View: es.comp.os.linux.programacion
Article #10317Re: variables static en C++
From: cusquejo
Date: Thu, 07 Mar 2002 11:14
Date: Thu, 07 Mar 2002 11:14
47 lines
3248 bytes
3248 bytes
"Jose Antonio" <pepehd@hotmail.com> escribi� en el mensaje news:20020307084809.10c7b0f1.pepehd@hotmail.com... > On Thu, 07 Mar 2002 00:53:17 +0100 > Manuel Dom�nguez Dorado <pepotemix@mixmail.com> wrote: > > > En la fecha Mon, 04 Mar 2002 16:34:56 GMT, "fgs" <NoSpam@ono.com> le > > endi�� a las teclas y sali� lo siguiente: > > > > >Tengo una clase A de la que se derivan varias clases A1, A2, ...An. Me > > >interesa saber cuantos elementos tengo de cada clase Ai, para lo que > > >pongo una variable static int contador en cada Ai y una funci�n static > > >void SumaUno() en cada Ai tambi�n. > > > > A no ser que sepas de antemano cuantas clases derivadas de A vas a > > tener, no se puede hacer de forma est�tica. > > > > Te puedes construir una lista enlazada *ListaDeContadores en la > > superclase, y que cada subclase registrara en dicha lista a la clase > > que pertenece y el n�mero que es. (Que l�o) > > > > O sea: una lista en la superclase definida como static y en el > > constructor de cada una de las subclases Ai un m�todo que accediera a > > esta lista, nodo por nodo, viera si existe una entrada Ai y si existe, > > incrementara el valor del contador en dicho nodo y si no (si es la > > primera instancia de la subclase Ai), crease un nodo para llevar a > > partir de ese momento la contabilidad de la subclase Ai. > > > > �Me he expicado bien? Al ser din�mica la lista, evitar�as el problema. > > > > ��Pero no lo he probado!! > > El n�mero de clases se tiene que saber de antemano forzosamente �no?. En > los includes tienes que definir todas las clases, �c�mo se van a crear > clases de forma din�mica? Son los objetos los que se crean de forma > din�mica, las clases estan predefinidas, asi que ese A1...An esta > predefinido y se sabe cual es, luego con el que sea la lista dinamica no > tendr�a mucho sentido ya que ni se crean ni se destruyen clases en tiempo > de ejecucion. > > No se si hay algun tipo de opcion en C++ que permita hacer esto, yo por lo > menos no lo hab�a visto nunca. > > Saludos. se puede hacer utilizando plantillas (templates) salu2
Technical Details
Message-ID:
<a67htj$3h6$1@cabezon.cpd.uva.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!news.uva.es!not-for-mailReferences:
<QmNg8.7787$sZ4.110654@news.ono.com><3kad8ugul2rqgnuehk5me4bpeabpp2n89r@4ax.com> <20020307084809.10c7b0f1.pepehd@hotmail.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,fcde9a39b2616cdc X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-03-07 03:14:55 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!news.uva.es!not-for-mail From: "cusquejo" <cusquejo@cusquejo.coj> Newsgroups: es.comp.os.linux.programacion Subject: Re: variables static en C++ Date: Thu, 7 Mar 2002 12:14:54 +0100 Organization: Universidad de Valladolid - Spain Lines: 49 Message-ID: <a67htj$3h6$1@cabezon.cpd.uva.es> References: <QmNg8.7787$sZ4.110654@news.ono.com><3kad8ugul2rqgnuehk5me4bpeabpp2n89r@4ax.com> <20020307084809.10c7b0f1.pepehd@hotmail.com> NNTP-Posting-Host: 2l010x17.tel.uva.es X-Trace: cabezon.cpd.uva.es 1015499507 3622 157.88.128.242 (7 Mar 2002 11:11:47 GMT) X-Complaints-To: abuse@uva.es NNTP-Posting-Date: Thu, 7 Mar 2002 11:11:47 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200