Die Klasse CVector


Inhalt

  1. Einleitung
  2. Member-Variablen
  3. Konstruktion / Destruktion
  4. Allgemeine Fnktionen
  5. Operatoren

Einleitung

Die Klasse CVector stellt eine voll funktionsfähige Vektor-Klasse zur Verfügung. Die meisten Funktionen sollten selbsterklärend sein.
Headerdatei:vector.hh
Implementationsdatei:vector.cc


Die Member-Variablen


CVector();

Erstellt ein CVector-Objekt. Der Varieblen av wir der Wert NULL zugewiesen, der Variable size der Wert 0.


CVector(int s);

Erstellt ein CVector-Objekt. Der Vektor ist dann ein feld mit s (nicht initialisierten) Elementen.


CVector(CVector<CTemplate>&);

Erstellt ein CVector-Objekt. Das neu angelegte Objekt ist dann identisch zum übergebenen Vektor.


~CVector()

Zerstört das CVector-Objekt und gibt den belegten Speicher wieder frei.


void Allocate(int NewSize);

Allokiert den Speicher für einen Vektor mit NewSize Elementen. Die Elemente sind zunächst uninitialisert.


void Free();

Gibt den belegten Speicher des Vektors wieder frei.


void Clear();

Setzt alle Elemente des Vektors auf 0. Hierzu ist es notwendig, daß Objekte vom Typ CTemplate mit integer-Zahlen kompatibel sind.


inline int GetSize() { return size; };

Liefert die Größe des Vektors.


void Epsilon(double e = 1.0e-10);

Führt eine Fehlerkorrektur durch. Jeder Wert x der des Vektors wird auf 0 gesetzt, sobald der Betrag von x kleiner als der der Funktion Epsilon übergebene Wert e ist.


inline CTemplate& operator[] (int Index ) { return av[Index]; };

liefert eine Referenz auf das i-te Element des Vektors.


CVector<CTemplate>& operator= (const CVector<CTemplate>& );

Weist dem CVector-Objekt einen anderen Vektor zu.


friend CVector<CTemplate> operator+ (CVector<CTemplate>&, CVector<CTemplate>& );

Addiert zwei Vektoren komponentenweise.


friend CVector<CTemplate> operator- (CVector<CTemplate>&, CVector<CTemplate>& );

Subtrahiert zwei Vektoren komponentenweise.


friend CVector<CTemplate> operator- (CVector<CTemplate>& );

Subtrahiert vom CVector-Objekt einen Vektor komponentenweise.


friend CTemplate operator* (CVector<CTemplate>&, CVector<CTemplate>& );

Multipliziert zwei Vektoren und liefert ein Skalar.


friend CVector<CTemplate> operator* (CVector<CTemplate>&, CTemplate );

Multipliziert einen Vektor mit einem Skalar komponentenweise.


friend CVector<CTemplate> operator/ (CVector<CTemplate>&, CTemplate );

Dividiert einen Vektor durch ein Skalar komponentenweise.


friend CVector<CTemplate> operator* (CTemplate, CVector<CTemplate>& );

Multipliziert einen Vektor mit einem Skalar komponentenweise.


friend CVector<CTemplate> operator/ (CTemplate, CVector<CTemplate>& );

Dividiert einen Vektor durch ein Skalar komponentenweise.


CVector<CTemplate>& operator+= (CVector<CTemplate>& );

Addiert zum CVector-Objekt einen anderen Vektor komponentenweise.


CVector<CTemplate>& operator-= (CVector<CTemplate>& );

Subtrahiert vom CVector-Objekt einen anderen Vektor komponentenweise.


CVector<CTemplate>& operator*= (CTemplate );

Multipliziert das CVector-Objekt komponentenweise mit einem Skalar.


CVector<CTemplate>& operator/= (CTemplate );

Dividiert das CVector-Objekt komponentenweise durch ein Skalar.


int operator< (CVector<CTemplate>& );

Vergleicht lexikografisch zwei Vektoren.


int operator<= (CVector<CTemplate>& );

Vergleicht lexikografisch zwei Vektoren.


int operator> (CVector<CTemplate>& );

Vergleicht lexikografisch zwei Vektoren.


int operator>= (CVector<CTemplate>& );

Vergleicht lexikografisch zwei Vektoren.


int operator== (CVector<CTemplate>& );

Vergleicht lexikografisch zwei Vektoren.


int operator!= (CVector<CTemplate>& );

Vergleicht lexikografisch zwei Vektoren.


friend ostream& operator<< (ostream&, CVector<CTemplate>& );

Gibt das CVector-Objekt auf dem Ausgabe-Stream ostream aus.


friend istream& operator>> (istream&, CVector<CTemplate>& );

Liest das CVector-Objekt vom Eingabe-Stream istream ein.


void Read (istream* );

Liest das CVector-Objekt vom Eingabe-Stream istream ein.


void QuickSort (int, int );

Sortiert das CVector-Objekt mit Hilfe des QuickSort-Algorithmus.