#include <calculator.h>
Klassendiagramm für CalculatorBase:

Öffentliche Methoden | |
| CalculatorBase (int argc, char **argv) | |
| Konstruktor tut eigentlich nichts, da die Konstruktion von den abgeleiteten Klassen uebernommen wird. | |
| ~CalculatorBase () | |
| Destruktor raeumt die Objekte auf, die von den abgeleiteten Calculatoren angelegt wurden, da dies immer dieselben sind. | |
| ComputerBase * | getComputerP () const |
| DisplayBase * | getDisplayP () const |
| Cfgs * | getCfgsP () const |
| string | getProgName () const |
| string | getProgVers () const |
| string | getAccPath () const |
| bool | getIsDlgApp () const |
| double | calculate () |
| Uebernimmt bei der Konsolenversion die Steuerung der Eingabe und Berechnung und Ausgabe der Werte. | |
| void | process (string in) |
| Verarbeitet ein einzelnes Symbol. | |
| string | getTitle () |
| Erzeugt fuer die Konsolenversion einen String mit einem Titelbild. | |
| string | getNextSym (string &expr) const |
| Holt aus dem String expr das erste Symbol. | |
| bool | isError () const |
| int | getNumStrLen (string dsplStr) |
Geschützte Attribute | |
| string | mProgName |
| z.B. "TI-30", "Casio fx-85v", ... | |
| string | mProgPath |
| Pfad, unter dem das Binary liegt. | |
| string | mProgVers |
| Programmversion zwecks Vrgl. in Ini-Datei. | |
| string | mHomeDir |
| Home-Verzeichnis des Users (falls Linux). | |
| string | mAccPath |
| Zubehoer-Ordner. | |
| string | mIniFileName |
| Name der Initialisierungsdatei (ohne Pfad). | |
| ComputerBase * | mComputerP |
| Zeiger auf den Computer. | |
| DisplayBase * | mDisplayP |
| Zeiger auf die Anzeige. | |
| Cfgs * | mCfgsP |
| Zeiger auf die Konfigurationsdaten. | |
| bool | mIsDlgApp |
| als Konsolen- oder Dialogapplik. gestartet? | |
Ein Taschenrechner besteht aus einem Gehaeuse, einem Rechenwerk und einer Anzeige sowie aus einem Algorithmus, der Zeichenketten entgegennimmt und an den Computer weiterleitet. CalculatorBase (bzw. die hiervon abgeleiteten Klassen bilden das Gehaeuse, das die anderen Komponenten als Members (bzw. Zeiger darauf) enthaelt.
|
||||||||||||
|
Konstruktor tut eigentlich nichts, da die Konstruktion von den abgeleiteten Klassen uebernommen wird.
|
|
|
Destruktor raeumt die Objekte auf, die von den abgeleiteten Calculatoren angelegt wurden, da dies immer dieselben sind.
|
|
|
Uebernimmt bei der Konsolenversion die Steuerung der Eingabe und Berechnung und Ausgabe der Werte. Bei Tests ohne Eingabe ueber Konsole und stattdessen Einlesen aus String "expr": Zeile mit cin einkommentieren und die mit getNextSym() aktivieren. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Holt aus dem String expr das erste Symbol.
|
|
|
|
|
|
|
|
|
|
|
|
Erzeugt fuer die Konsolenversion einen String mit einem Titelbild.
|
|
|
|
|
|
Verarbeitet ein einzelnes Symbol. Dies ist die zentrale Funktion zur Bearbeitung von Eingaben. Im String in wird ein Symbol erwartet; das sollte entweder eine Zahl sein oder eine Zeichenkette, die sich in der Symboltabelle befindet. Die Zeichenkette wird in der Symboltabelle gesucht, damit ist dann ein Symbol-Pointer gefunden. Das Symbol wird durch die process()-Funktion des Symbols verarbeitet. Wenn das Symbol nicht gefunden wird, wird von der Funktion isSym() eine Fehlermeldung ausgegeben.
|
|
|
Zubehoer-Ordner.
|
|
|
Zeiger auf die Konfigurationsdaten.
|
|
|
Zeiger auf den Computer.
|
|
|
Zeiger auf die Anzeige.
|
|
|
Home-Verzeichnis des Users (falls Linux).
|
|
|
Name der Initialisierungsdatei (ohne Pfad).
|
|
|
als Konsolen- oder Dialogapplik. gestartet?
|
|
|
z.B. "TI-30", "Casio fx-85v", ...
|
|
|
Pfad, unter dem das Binary liegt.
|
|
|
Programmversion zwecks Vrgl. in Ini-Datei.
|
1.4.1