Article View: es.comp.os.linux.programacion
Article #10442Re: variables static en C++
From: Jose Antonio
Date: Thu, 07 Mar 2002 07:48
Date: Thu, 07 Mar 2002 07:48
41 lines
3204 bytes
3204 bytes
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.
Technical Details
Message-ID:
<20020307084809.10c7b0f1.pepehd@hotmail.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!194.42.224.136!diablo.netcom.net.uk!netcom.net.uk!easynet-monga!easynet-melon!easynet.net!news.rediris.es!newsfeed.bt.es!news.bt.es!not-for-mailReferences:
<QmNg8.7787$sZ4.110654@news.ono.com> <3kad8ugul2rqgnuehk5me4bpeabpp2n89r@4ax.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-06 23:50:58 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!194.42.224.136!diablo.netcom.net.uk!netcom.net.uk!easynet-monga!easynet-melon!easynet.net!news.rediris.es!newsfeed.bt.es!news.bt.es!not-for-mail From: Jose Antonio <pepehd@hotmail.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: variables static en C++ Date: Thu, 7 Mar 2002 08:48:09 +0100 Organization: Supercable Andalucia, S.A. Lines: 41 Message-ID: <20020307084809.10c7b0f1.pepehd@hotmail.com> References: <QmNg8.7787$sZ4.110654@news.ono.com> <3kad8ugul2rqgnuehk5me4bpeabpp2n89r@4ax.com> NNTP-Posting-Host: 212.79.128.146 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: titan.bt.es 1015486819 1196 212.79.128.146 (7 Mar 2002 07:40:19 GMT) X-Complaints-To: abuse@bt.es NNTP-Posting-Date: 7 Mar 2002 07:40:19 GMT X-Newsreader: Sylpheed version 0.7.1 (GTK+ 1.2.10; i586-pc-linux-gnu) Cache-Post-Path: seux119!unknown@cliente-217216066022.cm128.senpd.supercable.es X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)