Esimerkki parametrittomasta arvon palauttavasta funktiosta olkoon käyttäjältä syötteitä kysyvä ja lukeva funktio. Olkoon sen tehtävä lukea ympyrän säteen arvo ja palauttaa se kutsuvalle yksikölle.
Palautettava luku on tyypiltään liukuluku. Näin ollen funktion tyypiksi ilmoitetaan liukuluku. Funktio ei saa kutsuvasta yksiköltä minkäänlaista syöttötietoa, joten sen parametrilista on tyhjä (void). Kutsuvaan yksikköön palautettava arvo ilmoitetaan lauseessa return, johon funktion suoritus päättyy.
/* ********************************************************* FUNKTIO3.CPP Esimerkki funktiosta, jolla on paluuarvo, mutta ei parametreja. ********************************************************* */ #include <iostream.h> #include <math.h> /* Lukee näppäimistöltä ympyrän säteen ja palauttaa sen paluuarvona. Huomaa, että tämä on huono tapa lukea syöttötietoja, parempi tapa esitetään myöhemmin. */ double lue_sade(void) { double sade; cout << "Anna säteen pituus > "; cin >> sade; return sade; } int main(void) { double sade, pinta_ala; sade = lue_sade(); pinta_ala = M_PI*sade*sade; cout << "Säde on " << sade; cout << " ja pinta-ala on " << pinta_ala << endl; return 0; }
Esimerkkiajo:
Anna säteen pituus > 10 Säde on 10 ja pinta-ala on 314.159265
Kun funktio palauttaa arvon, täytyy se tallentaa johonkin (tai käyttää sitä jollain muulla tavalla). Muuten paluuarvo menetetään. Tallentaminen tehdään sijoittamalla funktion arvo johonkin muuttujaan sijoituslauseella.
Huomaa, että edellä esitetty tapa palauttaa syöttötietoja paluuarvoina ei ole kovin hyvä. Jos esimerkiksi halutaan lukea kaksi lukua (vaikkapa suorakaiteen leveys ja korkeus), täytyisi ne lukea eri funktioissa, sillä paluuarvoja voi olla vain yksi. Luonnollisempaa on lukea kaikki yhteenkuuluvat syöttötiedot samassa funktiossa ja palauttaa ne parametrien välityksellä. Tähän palataan hieman myöhemmin.