Die Klasse CVector
Inhalt
- Einleitung
- Member-Variablen
- Konstruktion / Destruktion
- Allgemeine Fnktionen
- Operatoren
- inline CTemplate& operator[] (int Index ) { return av[Index]; };
- CVector<CTemplate>& operator= (const CVector<CTemplate>& );
- friend CVector<CTemplate> operator+ (CVector<CTemplate>&, CVector<CTemplate>& );
- friend CVector<CTemplate> operator- (CVector<CTemplate>&, CVector<CTemplate>& );
- friend CVector<CTemplate> operator- (CVector<CTemplate>& );
- friend CTemplate operator* (CVector<CTemplate>&, CVector<CTemplate>& );
- friend CVector<CTemplate> operator* (CVector<CTemplate>&, CTemplate );
- friend CVector<CTemplate> operator/ (CVector<CTemplate>&, CTemplate );
- friend CVector<CTemplate> operator* (CTemplate, CVector<CTemplate>& );
- friend CVector<CTemplate> operator/ (CTemplate, CVector<CTemplate>& );
- CVector<CTemplate>& operator+= (CVector<CTemplate>& );
- CVector<CTemplate>& operator-= (CVector<CTemplate>& );
- CVector<CTemplate>& operator*= (CTemplate );
- CVector<CTemplate>& operator/= (CTemplate );
- int operator< (CVector<CTemplate>& );
- int operator<= (CVector<CTemplate>& );
- int operator> (CVector<CTemplate>& );
- int operator>= (CVector<CTemplate>& );
- int operator== (CVector<CTemplate>& );
- int operator!= (CVector<CTemplate>& );
- friend ostream& operator<< (ostream&, CVector<CTemplate>& );
- friend istream& operator>> (istream&, CVector<CTemplate>& );
- void Read (istream* );
- void QuickSort (int, int );
Einleitung
Die Klasse CVector stellt eine voll funktionsfähige Vektor-Klasse zur Verfügung. Die meisten
Funktionen sollten selbsterklärend sein.
Die Member-Variablen
- CTemplate *av
Ein Feld von Objekten vom Typ CTemplate. Dieses Feld bildet den Vektor.
- int size
Gibt die Anzahl der Elemente des Vektors an. Das Feld av besteht dann aus size Elementen.
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.