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