9.2.8 Funktioiden kuormittaminen (lisämäärittely, overloading)
Edellisessä tehtävässä pyydettiin kirjoittamaan aliohjelma
tulosta, joka tulostaa päivämäärätyyppisen
muuttujan arvon. Onko tämä järkevää, koska
meillä jo oli aliohjelma tulosta, joka tulostaa kellonajan?
Eräs C++:n uusia ominaisuuksia on mahdollisuus kuormittaa,
eli määritellä lisää merkityksiä (eng.
overloading)
funktion nimelle. Varsinainen kutsuttava funktio tunnistetaan nimen ja
parametrilistassa olevien lausekkeiden avulla. Funktion nimi koostuukin
tavallaan nimen ja parametrilistan yhdisteestä. Siten jos on esitelty
tAika aika={12,30};
tPvm pvm={14,1,1997};
tulosta(aika);
tulosta(pvm);
niin kumpikin tulosta- kutsu kutsuu eri aliohjelmaa. Funktioiden
kuormitus onkin varsin mukava lisä ohjelmointiin, se ei kuitenkaan ole
varsinaisia olio- ohjelmoinnin piirteitä.
- Miten asiat on hoidettava C- kielessä, kun siellä funktioiden
nimien kuormitus ei ole mahdollista, vaan kunkin funktion nimen tulee olla
yksikäsitteinen.