(H) Tietoalkioiden sisällön vaihtaminen¶
Tavoite: Kokeilen C++:n erilaisia parametrinvälitysmekanismeja havainnollistaakseni edellä lukemaani materiaalia.
Ohjeita:
Hae ohjelmakoodipohja: templates/03/swap/
-> student/03/swap/
.
Pohjassa on automaattitestausta varten kääntäjän ohjaus
ifndef UNIT_TESTING
(ja vastaava endif
).
Niistä ei tarvitse välittää, eikä niitä saa muuttaa mitenkään.
Koodipohjan pääohjelmassa (funktio main
) näet funktion swap
kutsun.
Tehtävänäsi on kirjoittaa toteutus tälle funktiolle.
(Jos vain yrität kutsua C++:n valmista swap
-funktiota, ohjelmasi
ei läpäise automaattitestejä.)
Kun funktio swap
on toteutettu, pääohjelman pitää toimia seuraavasti:
Enter an integer: 42
Enter another integer: 0
The integers are 0 and 42
Pohdittavaa:
- Vaikka tietäisit edellä lukemiesi materiaalien perusteella heti, miten tehtävä ratkaistaan, niin tässä on hyvä tilaisuus kokeilla C++:n muidenkin parametrinvälitysmekanismien toimintaa.
- Voit myös kokeilla, mitä tapahtuu, jos välität funktiolle parametrina literaaleja.
- Jos C++:ssa olisi dynaaminen tyypitys, niin tämä funktio voisi olla vielä paljon kätevämpi: Jos parametrien tyypillä ei olisi väliä, niin samalla funktiolla voisi vaihtaa kokonaislukumuuttujien sisällöt keskenään ja merkkijonomuuttujien sisällöt keskenään.
A+ esittää tässä kohdassa tehtävän palautuslomakkeen.