Toisena esimerkkinä yksinkertaisesta C++-ohjelmasta otetaan erillistä funktiota käyttävä toteutus. Pääohjelma-funktion lisäksi tässä käytetään tulostuksen suorittamiseen toista määriteltävää funktiota.
/* ********************************************************* TOKA.CPP Luotu: 15.02.1993, Petri Laukkanen Muutettu: 24.04.1997, Timo Männikkö Toiminta: Tulostaa näytölle tekstin "Hello world!" käyttäen tulostamiseen erillistä funktiota. ********************************************************* */ #include <iostream.h> void tulosta(void) { cout << "Hello world!\n"; // tulostetaan teksti } int main(void) { tulosta(); // kutsutaan tulosta-funktiota return 0; // palautetaan käyttöjärjestelmälle arvo 0 }
Toiminnaltaan tämä ohjelma vastaa täsmälleen ensimmäistä esimerkkiohjelmaa, ero on ainoastaan ohjelman toteutuksessa. Edellisessä ohjelmassa oli vain yksi funktio, pääohjelma, joka suoritti tulostamisen. Tässä on määritelty toinen funktio, jossa varsinainen tulostaminen suoritetaan, pääohjelma ainoastaan kutsuu tätä funktiota.
Tulostavan funktion nimeksi on valittu tulosta. Funktion nimen edessä on osa (sana), joka kertoo funktion palauttaman arvon tyypin. Tässä esimerkissä esiintyy kahta eri paluuarvon tyyppiä, void ja int. Tyyppi void määrittää funktion tyypittömäksi eli se ei palauta kutsuvalle ohjelmalle mitään arvoa. Sen vuoksi tulosta-funktiossa ei tarvita return-lausetta. Tyyppi int määrittää funktion tyypiksi integer eli kokonaislukutyyppi. Tämän mukaisesti main-funktion viimeisenä lauseena on return eli palautuslause ja sille annettu kokonaisluku (tässä 0) palautuu kutsuvalle ohjelmaosalle. Pääohjelman tapauksessa kutsuvana osana on käyttöjärjestelmä. Yleensä, jos ohjelma toimii niin kuin sen oletetaan toimivan, palautetaan 0. Muilla arvoilla osoitetaan virhetilanteita.
Funktioille itselleen voidaan viedä parametreja. Parametrit ovat arvoja (lukuja, merkkejä,...), joita funktio tarvitsee suorittaakseen sille kuuluvan toiminnon. Parametrit määritellään funktion nimen perässä olevissa sulkeissa. Tämän esimerkin funktioille main ja tulosta ei viedä mitään parametreja. Kun parametreja ei ole, kirjoitetaan esittelyssä sulkujen väliin sana void. Funktiota kutsuttaessa puolestaan kirjoitetaan funktion nimen perään sulkumerkit (), jotka ovat aina pakolliset.
Funktioihin palataan sitten, kun on ensin opittu hieman enemmän C++-kielen perusrakenteita.
Lause
on pienin itsenäinen yksikkö
C++-kielessä. Lause päättyy AINA puolipisteeseen.
Lohko
on ryhmä yhteenkuuluvia lauseita. C++-kielen lause
voidaan korvata lohkolla. Lohko aloitetaan {-merkillä ja
lopetetaan }-merkillä.
Funktio on ohjelman "itsenäinen"
osa, joka suorittaa jonkin ennalta määrätyn
toimenpiteen.
Kirjoita pääohjelma, joka tulostaa
tekstin
"minä olen todellakin Heikki"
Ohjelma vaatii yhden direktiivin, minkä?