Article View: es.comp.os.linux.programacion
Article #6689Re: Cuestión sobre C++
From: Albert Mora
Date: Mon, 26 May 2003 12:08
Date: Mon, 26 May 2003 12:08
63 lines
2555 bytes
2555 bytes
Hola,
por lo que veo, tienes una peque�a mala costumbre: implementar los constructores en el archivo *.h. Esto, adem�s de ser feo, te dar� problemas. Y te dar� problemas porque:
> class A {
> public:
> A(){};
> setB(B b);
> private:
> B b;
> }
Como _b_ es miembro de la classe _A_, cuando declaras esta clase, el compilador intenta buscar el constructor de _B_ para construir este miembro.
> class B {
> public:
> B(){};
> setA(A a);
> setC(C c);
> private:
> A a;
> C c;
> }
El constructor de _B_ tb querr� inicializarse y buscar� el constructor de _A_... Esto suena feo, �no?
Adem�s,
> B(){};
esto no puede ser. O es
B(){} // Implementa
o es
B(); // Declara
Mi propuesta es que sigas tu dise�o, pero incluyas sutilmente esta diferencia:
class A {
public:
A(); //IMPLEMENTALA EN EL .cxx
setB(B b);
private:
B b;
}
class B {
public:
B(); //IMPLEMENTALA EN EL .cxx
setA(A a);
setC(C c);
private:
A a;
C c;
}
y esto creo que te funcionar�...
Ya dir�s algo...
albert...
--
Albert J. MORA - MTG / IUA / UPF - PLUG
phone: +34 93542.2199
email: amora@iua.upf.es
wpage: http://www.iua.upf.es/~amora
Technical Details
Message-ID:
<7avfvx52se.fsf@mtg100.upf.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!38.144.126.75.MISMATCH!feed1.newsreader.com!newsreader.com!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsmi-us.news.garr.it!NewsITBone-GARR!news.rediris.es!news.cesca.es!not-for-mailReferences:
<3ED1EFAF.9000106@google.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,ec6d950f22b8f69f X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-05-26 05:28:38 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!38.144.126.75.MISMATCH!feed1.newsreader.com!newsreader.com!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsmi-us.news.garr.it!NewsITBone-GARR!news.rediris.es!news.cesca.es!not-for-mail From: Albert Mora <amora@iua.upf.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: Cuestión sobre C++ Date: 26 May 2003 14:08:01 +0200 Organization: CESCA - Servidor de news de l'Anella Cientifica Lines: 64 Sender: amora@mtg100.upf.es Message-ID: <7avfvx52se.fsf@mtg100.upf.es> References: <3ED1EFAF.9000106@google.com> NNTP-Posting-Host: mtg100.upf.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: noucreus-atm.cesca.es 1053951049 13103 193.145.55.100 (26 May 2003 12:10:49 GMT) X-Complaints-To: newsmanager@cesca.es NNTP-Posting-Date: Mon, 26 May 2003 12:10:49 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2