🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #8841

Re: Friend functions in C++

#8841
From: Johan Vervloet
Date: Thu, 06 Jun 2002 07:09
48 lines
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.be
References: <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