TDDC76 Programmering och datastrukturer, Laboration 3 ------------------------------------------------------------------------------ Given kod för huvudprogramm och kalkylatorn (G-nivå). Övrig kod finns eller ska placeras i mapparna ../Expression och ../Variable_Table (VG). kalkylator.cc Huvudprogrammet. Calculator.h Inkluderingsfil för Calculator. Klassen Expression, som ska konstrueras i laborationen, är typen för datamedlemmen current_expression_, vilken ska lagra det "aktuella uttrycket" i kalkylatorn. Anm. är en "lättviktsvariant" av , som endast innehåller datatyperna som ingår i , inga objekt som exempelvis cin och cout. kan med fördel användas om vi endast behöver deklarera, typiskt, referenser som std::istream& och std::ostream&. Calculator.cc Implementeringsfil för klassen Calculator. Innehåller separata definitioner för medlemsfunktionerna. Makefile Makefil för att kompilera och länka programmet samt städa filkatalogen. Följande kommandon kan ges: make kompilerar och länkar programmet, det körbara programmet erhålls på filen 'kalkylator'. make clean tar bort olika kompileringsprodukter, exempelvis objektkodsfiler (*.o). make zap storstädar, endast källkoden och Makefile blir kvar. Då det givna programmet kompileras erhålls ett felmeddelande för varje konkret klass i Expression_Tree-hierarkin (Power, times, osv.), eftersom de givna klasskeletten för hierarkin saknar överskuggningar av de "pure virtual"- deklarerade medlemsfunktionerna i basklassen Expression_Tree. Felmeddelanden härrör från koden i filen Expression.cc, men det är alltså inget fel där som har med detta att göra, utan problemen beror på ofullständig kod i filerna Expression_Tree.h och Expression_Tree.cc. ------------------------------------------------------------------------------