🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.c++
Article #190

Static miembros de una clase en una dll

#190
From: Josemi
Date: Thu, 23 Sep 2010 09:32
49 lines
2330 bytes
¡Hola!

  Me ha pasado un caso curioso con una clase que tiene un miembro
static definida en una dll. Me explico

dll.h

class __declspec (dllexport) A
{
   public:
     static  int    valor;

    PinrtOut ()
    {
       TRACE1(valor);
    }
}

dll.cpp
A::valor=23;

main.h
class B:A
{
}

main.cpp
A::valor;
{
   A   objeto;

   objeto.valor = 34;
   objeto.PrintOut();
}

Bien, sucede que el valor dado en "main.cpp" valor objeto.valor = 34
cuando entra en PrintOut ésta imprime 23

¿Se te ocurre a que es debido? aunque tengo alguna idea y el problema
radica en que estoy obligado a declarar A::valor en las dos rutinas y
claro el compilador crea dos instancias de A::valor ¿se podría hacer
que él solo viera una? o alguna idea de como solventar este problema.
Se me ocurren definir rutinas que suplan esta deficiencia, pero yo
buscaba algo menos complicado.


Un millón de gracias

Josemi
Technical Details
Message-ID: <85064614-98ba-48da-b47f-5db346a11c08@y3g2000vbm.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!postnews.google.com!y3g2000vbm.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f53ec,d36fac836f5e4a9b,start
X-Google-NewGroupId: yes
X-Google-Attributes: gidd2efa0cfdc,domainid0,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!postnews.google.com!y3g2000vbm.googlegroups.com!not-for-mail
From: Josemi <josemiantelo@gmail.com>
Newsgroups: es.comp.lenguajes.c++
Subject: Static miembros de una clase en una dll
Date: Thu, 23 Sep 2010 02:32:38 -0700 (PDT)
Organization: http://groups.google.com
Lines: 49
Message-ID: <85064614-98ba-48da-b47f-5db346a11c08@y3g2000vbm.googlegroups.com>
NNTP-Posting-Host: 85.86.115.136
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1285234358 1934 127.0.0.1 (23 Sep 2010 09:32:38 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 23 Sep 2010 09:32:38 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: y3g2000vbm.googlegroups.com; posting-host=85.86.115.136; posting-account=r3iuMwoAAADluQaWfkbXvKyL3d5RRiWa
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;
 Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR
 3.0.30729; Media Center PC 6.0; Media Center PC 5.0; OfficeLiveConnector.1.3;
 OfficeLivePatch.0.0; SLCC1; Tablet PC 2.0; .NET4.0C),gzip(gfe)