previous next Up Title Contents Index

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ä.

Tehtävä 9.79 Mitäs me tehtiin kun ei ollut kuormitusta?

Miten asiat on hoidettava C- kielessä, kun siellä funktioiden nimien kuormitus ei ole mahdollista, vaan kunkin funktion nimen tulee olla yksikäsitteinen.


previous next Up Title Contents Index