🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #11988

Re: c++ functies

#11988
From: geronimo
Date: Wed, 26 Dec 2001 19:43
99 lines
4525 bytes
Max Payne wrote:

> jo de mannen,
> seg keb ier e probleemke.. tot over 2 weken kon ik alles van C++ wa we
> gezien hadden.. dan kwamen de functies..beginfuncties gingen goed tot vr�
> goed (na te studeren) maar dan wast alleen void functies
> nu zit ge me int enzo, die ampersanten (&); waar kan ik hiervoor meer
> studiemateriaal vinden?? een url liefst, of ook voorbeeldoefeningen zijn
> goed..alles dat met functies te maken heeft, persoonlijke KLARE uitleg is
> ook goed!
> 
> tis binnenkort examen en kan niets van die oefeningen!!
> 
> thx in @vance!
> 
> 
> 

misschien niet de snelste manier (wanneer is 'binnenkort'?) maar wel 
bijzonder goed en volledig: het boek "Thinking in C++" van Bruce Eckel. 
Gratis (!!) te downloaden op http://www.mindview.net

In wezen is er weinig verschil tussen void-functies en int-functies. Een 
  void functie heeft alleen maar een "neveneffect", en geeft geen waarde 
terug.
Bijvoorbeeld:
void rekenmachine1(int a, int b)
{ 
// vermenigvuldigt twee getallen a en b,
	// en schrijft het resultaat naar het scherm.
	int c;
	c = a*b;
	cout << "antwoord: " << c << endl;
	return;
}
Het "neveneffect" is dus de uitvoer naar het scherm.

Een int-functie (of meer algemeen niet-void) voert een aantal 
bewerkingen uit en, in plaats van daar "niets" mee te doen, wordt het 
resultaat teruggegeven.
Bijvoorbeeld:
int rekenmachine2(int a, int b)
{ 
// vermenigvuldigt twee getallen a en b,
	// schrijft het resultaat naar het scherm,
	// en retourneert deze waarde.
	int c;
	c = a*b;
	cout << "antwoord: " << c << endl;
	return c;
}
Deze functie heeft hetzelfde "neveneffect" als de vorige. Daarnaast 
wordt in de laatste regel het getal "c" teruggegeven (return) aan de 
gebruiker, zodat hij er verdere bewerkingen mee kan doen.

De eerste rekenmachine krijgt 2 argumenten en voert daar vanalles mee 
uit, maar de oproepende functie 'ziet' daar niks van terug. De tweede 
rekenmachine krijgt ook 2 argumenten en voert daar dezelfde operaties 
mee uit, maar door de uitkomst als return-waarde terug te geven kan de 
oproepende functie daar weer andere dingen mee doen.
Bijvoorbeeld:
void main
{
	int a = 5;
	int b = 3;
	// declareren en initialiseren van twee gehele getallen

	rekenmachine1(a, b);
	// Deze functie kan zonder meer worden opgeroepen,
	// en voert de vermenigvuldiging uit. De functie 'main' heeft
	// echter geen controle op wat er gebeurt, ze ziet er niets van.

	int d;
	// het gehele getal d wordt gedeclareerd

	d = rekenmachine2(a, b);
	// In de variabele d wordt het getal opgeslagen dat de uitkomst
	// is van de functie rekenmachine2. Op die manier kan vanuit
	// de functie 'main' bekeken worden wat het resultaat was van de
	// functie.

	// ... (verdere bewerkingen met d)

	return;
}

Dit is maar z��r kort uitgelegd, waarschijnlijk slaagt men er in een 
boek beter in om dit duidelijker uit te leggen. Elk boek over C++ heeft 
het over dit soort dingen, dus je zal er zeker nog meer over vinden.

Opgelet: je moet ervoor zorgen dat de waarde die een functie teruggeeft 
ergens in "opgevangen" wordt! Je schrijft immers ook niet zomaar a*b, 
zonder daar iets mee te doen.

Afhankelijk van waarvoor de functie moet dienen, kan je dus een void- of 
een niet-void-functie kiezen.

groenten,
geronimo
Technical Details
Message-ID: <3C2A2848.5070105@kotnet.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!surfnet.nl!naxos.belnet.be!news.belnet.be!not-for-mail
References: <zLoW7.5741$tL6.1619282029@hebe.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,dbab361d97ff10c1
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-12-26 11:40:32 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!surfnet.nl!naxos.belnet.be!news.belnet.be!not-for-mail
From: geronimo <geronimo@kotnet.org>
Newsgroups: be.comp.programming
Subject: Re: c++ functies
Date: Wed, 26 Dec 2001 20:43:04 +0100
Organization: KULeuvenNet
Lines: 100
Message-ID: <3C2A2848.5070105@kotnet.org>
References: <zLoW7.5741$tL6.1619282029@hebe.telenet-ops.be>
NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: naxos.belnet.be 1009395630 22218 134.58.127.12 (26 Dec 2001 19:40:30 GMT)
X-Complaints-To: abuse@belnet.be
NNTP-Posting-Date: Wed, 26 Dec 2001 19:40:30 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-GB; rv:0.9.4) Gecko/20011019 Netscape6/6.2
X-Accept-Language: en-gb
Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@geronimo.kotnet.org
X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)