Article View: be.comp.programming
Article #8801(C++) private class members : gcc vs. Microsoft
From: Johan Vervloet
Date: Mon, 17 Jun 2002 10:55
Date: Mon, 17 Jun 2002 10:55
61 lines
2461 bytes
2461 bytes
Hallo,
Ik ben bezig aan een klasse die ik graag zowel met gnu gcc (g++)
gecompileerd zou willen krijgen, als met Microsoft CL.
Nu blijken deze twee compilers verschillend om te gaan met private
class members. Stel dat A en B instanties van dezelfde klasse zijn,
dan geeft gcc A wel toegang tot de private members van B, waar Microsoft
dit niet doet (tenzij blijkbaar in constructors).
Ik kan het probleem uiteraard gemakkelijk oplossen door d.m.v. #defines
alle private members als protected te declareren voor de Microsoft
compiler. Maar weet er iemand welke interpretatie (MS of gcc) volgens
de officiele standaard is ?
Johan
p.s. : hieronder een programmaatje dat het probleem illustreert
<code>
class Foo
{
public:
Foo();
Foo( const Foo& f );
Foo& copy( const Foo& f );
private:
int contents;
};
Foo::Foo()
{
contents = 0;
}
Foo::Foo( const Foo& f )
{
contents = f.contents; // dit laat MS wel toe
}
Foo& Foo::copy( const Foo& f )
{
contents = f.contents; // dit laat MS niet toe
return *this;
}
int main()
{
Foo a;
Foo b( a );
return 0;
}
</code>
--
Steun de actie tegen MS Word attachments !
http://www.gewestpallieter.be/~jvvloet/word
Technical Details
Message-ID:
<20020617125555.51fac646.johan@gewestpallieter.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!supernews.com!diablo.theplanet.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.vmunix.org!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!news.uia.ac.beShow Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,f856d38ccf19128,start X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-06-17 03:58:37 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!supernews.com!diablo.theplanet.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.vmunix.org!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!news.uia.ac.be From: Johan Vervloet <johan@gewestpallieter.be> Newsgroups: be.comp.programming Subject: (C++) private class members : gcc vs. Microsoft Date: Mon, 17 Jun 2002 12:55:55 +0200 Organization: University of Antwerp - UIA Lines: 61 Message-ID: <20020617125555.51fac646.johan@gewestpallieter.be> NNTP-Posting-Host: hnets.uia.ac.be Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: naxos.belnet.be 1024311486 19688 143.169.254.1 (17 Jun 2002 10:58:06 GMT) X-Complaints-To: abuse@belnet.be NNTP-Posting-Date: Mon, 17 Jun 2002 10:58:06 +0000 (UTC) X-Newsreader: Sylpheed version 0.7.8 (GTK+ 1.2.10; i686-pc-linux-gnu) X-Original-NNTP-Posting-Host: pcinf24.uia.ac.be X-Original-Trace: 17 Jun 2002 12:55:54 +0200, pcinf24.uia.ac.be