Triple Eye Industrieel Ingenieur Informatica Algemeen Intranet Derde jaar Algoritmen Algoritmen
AlgoI (09-10): reeks 4

Algoritmen I (2009-2010)

reeks 4: heap

Gegeven:

  • heap_interface.h
  • heaptest.h
  • main.cpp
  • unittest.h

    Opdracht: implementeer de klasse Heap volgens de gegeven interface (niet wijzigen!), zodat die voldoet aan de gegeven tests.

  • Kopieer heap_interface.h naar heap.h.
  • Voeg naar wens private leden toe aan Heap
  • Vermits Heap geparametrizeerd is, is het aangewezen om de methode-definities binnen hetzelfde header-bestand te plaatsen. Dat kan onder de klasse of eventueel inline.
  • Maak eerst 'stubs' of 'dummy'-implementaties van de methodes (bv. return 0, of niets doen), en voer de tests uit (die uiteraard falen).
  • Implementeer daarna stap per stap en test telkens uit.

    De klasse unittest.h is gemaakt voor eenvoudige unit-tests. Lees de uitleg in commentaar en bekijk de code eens. Bekijk uiteraard ook de gegeven heaptest goed.
    Er wordt gebruik gemaakt van preprocessor macro's (starten allemaal met een underscore) - dit maakt het mogelijk het lijnnummer waar een fout zich voordoet uit te schrijven.
    Het is ook mogelijk om na te gaan of excepties al dan niet gegooid worden. De macro's _start_throw_check gedraagt zich een beetje zoals try { en _check_no_throw en verwanten gedragen zich een beetje zoals } catch. Opgelet: ze definiëren dus een blok, en variabelen gemaakt binnen dat blok verdwijnen na de throw-check!


  • R. Stoop 12/09/2003

    Welkom | Hogeschool Gent | INWE | Studentenserver | Docentenserver | Intranet