002
18.09.2006, 22:16 Uhr
Yadgar
|
High!
Zitat von J-jayz-Z: |
Poste mal die Zeile aus der .h(pp) Datei bitte.
|
Voilà:
C++: |
// FractInt, eine Klasse für Brüche // (AUPPERLE, S. 392ff)
#ifndef FRACTINT_H #define FRACTINT_H
#include "ggt.h"
class NamedObjectBase;
vector<NamedObjectBase*> gObjects;
class NamedFractInt;
//-------------------------------------------------------------------------------- // FractInt // class FractInt { friend int ggT(int aA, int aB); // Hilfsfunktion: berechnet größten gemeinsamen Teiler private: int mZaehler, mNenner; // Zähler und Nenner mutable bool mValid; // Cache-Implementierung mutable double mValue; // Cache-Inhalt public: FractInt(); // Standardkonstruktor FractInt(int aZaehler, int aNenner=1); // Allgemeiner Konstruktor, Nenner standardmäßig 1 FractInt(const FractInt& aFI); // Kopierkonstruktor void print(); // Ausgabefunktion void setZaehler(int aZaehler); // verändert nur den Zähler void setNenner(int aNenner); // verändert nur den Nenner void setValue(int aZaehler, int aNenner); // verändert Zähler und Nenner int getZaehler(); // liefert Zähler zurück int getNenner(); // liefert Nenner zurück double calculateValue(); // berechnet Wert als Fließkommazahl bool isValid() const; // prüft, ob Wert des Bruches verändert wurde, falls ja, dann false const FractInt operator + (const FractInt aF2) const; // Addition FractInt operator += (FractInt aF2); // Addition mit Zuweisung FractInt operator - (FractInt aF2); // Subtraktion FractInt operator -= (FractInt aF2); // Subtraktion mit Zuweisung FractInt operator * (FractInt aF2); // Multiplikation FractInt operator *= (FractInt aF2); // Multiplikation mit Zuweisung FractInt operator / (FractInt aF2); // Division FractInt operator /= (FractInt aF2); // Division mit Zuweisung FractInt& operator ++ (); // Inkrement-Operator, Präfix FractInt operator ++ (int); // Inkrement-Operator, Postfix operator bool() const; // Wandlungsoperator FractInt -> bool operator const char*() const; // Wandlungsoperator FractInt -> string operator double(); // Wandlungsoperator FractInt -> double, // verwendet Methode calculateValue void shorten(void); // Funktion zum Kürzen };
//-------------------------------------------------------------------------------- // NamedObjectBase // class NamedObjectBase { protected: //--- Name eines Objektes // 1. Muss systemweit eindeutig sein // 2. Muss mindestens 3, höchstens 128 Zeichen enthalten // NamedObjectBase(string aName); ~NamedObjectBase(); public: //--- liefert den Objektnamen // string getObjectName() const; protected: string mName; };
//-------------------------------------------------------------------------------- // NamedFractInt // class NamedFractInt : public FractInt, public NamedObjectBase { public: NamedFractInt(string aName, int aZaehler, int aNenner=1); NamedFractInt operator += (int); friend NamedFractInt operator + (const NamedFractInt&, const NamedFractInt&); private: };
#endif
|
-- Flagmaker - ein Programmier-Blog |