Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Verzeichnisse | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

CalculatorBase Klassenreferenz

Basisklasse aller Taschenrechner. Mehr ...

#include <calculator.h>

Klassendiagramm für CalculatorBase:

CalculatorFx3600p CalculatorFx85v CalculatorTi30 Aufstellung aller Elemente

Ö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.
ComputerBasegetComputerP () const
DisplayBasegetDisplayP () const
CfgsgetCfgsP () 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).
ComputerBasemComputerP
 Zeiger auf den Computer.
DisplayBasemDisplayP
 Zeiger auf die Anzeige.
CfgsmCfgsP
 Zeiger auf die Konfigurationsdaten.
bool mIsDlgApp
 als Konsolen- oder Dialogapplik. gestartet?

Ausführliche Beschreibung

Basisklasse aller Taschenrechner.

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.


Beschreibung der Konstruktoren und Destruktoren

CalculatorBase::CalculatorBase int  argc,
char **  argv
 

Konstruktor tut eigentlich nichts, da die Konstruktion von den abgeleiteten Klassen uebernommen wird.

CalculatorBase::~CalculatorBase  ) 
 

Destruktor raeumt die Objekte auf, die von den abgeleiteten Calculatoren angelegt wurden, da dies immer dieselben sind.


Dokumentation der Elementfunktionen

double CalculatorBase::calculate  ) 
 

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.

string CalculatorBase::getAccPath  )  const [inline]
 

Cfgs* CalculatorBase::getCfgsP  )  const [inline]
 

ComputerBase* CalculatorBase::getComputerP  )  const [inline]
 

DisplayBase* CalculatorBase::getDisplayP  )  const [inline]
 

bool CalculatorBase::getIsDlgApp  )  const [inline]
 

string CalculatorBase::getNextSym string &  expr  )  const
 

Holt aus dem String expr das erste Symbol.

Parameter:
expr String mit einer ganzen Tastenfolge (z.B. "3.4 * 3 sin ="
Rückgabe:
String mit dem ersten Symbol

int CalculatorBase::getNumStrLen string  dsplStr  )  [inline]
 

string CalculatorBase::getProgName  )  const [inline]
 

string CalculatorBase::getProgVers  )  const [inline]
 

string CalculatorBase::getTitle  ) 
 

Erzeugt fuer die Konsolenversion einen String mit einem Titelbild.

Rückgabe:
String mit Titelbild

bool CalculatorBase::isError  )  const [inline]
 

void CalculatorBase::process string  in  ) 
 

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.

Parameter:
in Eingabe-String, der eine Zahl oder ein Symbol enthalten sollte


Dokumentation der Datenelemente

string CalculatorBase::mAccPath [protected]
 

Zubehoer-Ordner.

Cfgs* CalculatorBase::mCfgsP [protected]
 

Zeiger auf die Konfigurationsdaten.

ComputerBase* CalculatorBase::mComputerP [protected]
 

Zeiger auf den Computer.

DisplayBase* CalculatorBase::mDisplayP [protected]
 

Zeiger auf die Anzeige.

string CalculatorBase::mHomeDir [protected]
 

Home-Verzeichnis des Users (falls Linux).

string CalculatorBase::mIniFileName [protected]
 

Name der Initialisierungsdatei (ohne Pfad).

bool CalculatorBase::mIsDlgApp [protected]
 

als Konsolen- oder Dialogapplik. gestartet?

string CalculatorBase::mProgName [protected]
 

z.B. "TI-30", "Casio fx-85v", ...

string CalculatorBase::mProgPath [protected]
 

Pfad, unter dem das Binary liegt.

string CalculatorBase::mProgVers [protected]
 

Programmversion zwecks Vrgl. in Ini-Datei.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Mon Oct 10 19:54:31 2005 für Almetare von  doxygen 1.4.1