Article View: be.comp.programming
Article #8841Re: Friend functions in C++
From: Johan Vervloet
Date: Thu, 06 Jun 2002 07:09
Date: Thu, 06 Jun 2002 07:09
48 lines
2635 bytes
2635 bytes
On Wed, 05 Jun 2002 19:39:50 GMT HardCase <dhertsen@tiscali.be> wrote: > Hoe kan de compiler > nu weten als ik main die + oproep met een C-String in welke klasse hij > moet gaan zoeken om die functie te vinden. Een friend functie is geen class member. Een friend functie is gewoon een functie die `toegangsrecht' krijgt tot de private en protected members van een functie. Als de compiler nu iets tegenkomt zoals char* a; String b; a + b; Dan valt er eerst op dat er geen optelling char* + String gedefinieerd is. Vervolgens kijkt de compiler welke optellingen er wel allemaal gedefinieerd zijn, en overloopt hij de constructoren van alle mogelijke klassen af om te zien of er niets te `matchen' valt. In bovenstaand geval bestaat er een constructor die van een char* een String maakt, dus zal de compiler char* eerst naar String converteren, en dan de optelling String + String uitvoeren. Als er meerdere mogelijkheden zouden bestaan (bijv. moest er ook een conversie van String naar char* gedefinieerd zijn), zou de compiler een fout geven omwille van deze dubbelzinnigheid. groet - Johan > > THX > -- > PENTIUM = Produces Erroneous Numbers Thru Incorrect Understanding of > Math > * MSN dhertsen_2@hotmail.com ICQ 157482585 > * http://www.sphosting.com/dietmar -- Steun de actie tegen MS Word attachments ! http://www.gewestpallieter.be/~jvvloet/word
Technical Details
Message-ID:
<20020606090938.160c2f81.johan@gewestpallieter.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!nntp.cs.ubc.ca!logbridge.uoregon.edu!skynet.be!skynet.be!newsfeed.online.be!newsfeed.vmunix.org!newsfeed.belnet.be!naxos.belnet.be!news.belnet.be!news.uia.ac.beReferences:
<3CFE688B.5EBDF5F5@tiscali.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,6916dc67502b3f8b X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-06-06 00:10:10 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!nntp.cs.ubc.ca!logbridge.uoregon.edu!skynet.be!skynet.be!newsfeed.online.be!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: Re: Friend functions in C++ Date: Thu, 6 Jun 2002 09:09:38 +0200 Organization: University of Antwerp - UIA Lines: 48 Message-ID: <20020606090938.160c2f81.johan@gewestpallieter.be> References: <3CFE688B.5EBDF5F5@tiscali.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 1023347380 3110 143.169.254.1 (6 Jun 2002 07:09:40 GMT) X-Complaints-To: abuse@belnet.be NNTP-Posting-Date: Thu, 6 Jun 2002 07:09:40 +0000 (UTC) X-Newsreader: Sylpheed version 0.7.6 (GTK+ 1.2.10; i686-pc-linux-gnu) X-Original-NNTP-Posting-Host: pcinf24.uia.ac.be X-Original-Trace: 6 Jun 2002 09:09:37 +0200, pcinf24.uia.ac.be