======================= PROGRAMMIEREN IN C++ P. PFAHLER SOMMERSEMESTER 1997 ======================= Uebungsblatt 6 vom 12.6.1997 ----------------------------- Aufgabe 13) ----------- Implementieren Sie die Klasse "vector": class vector { double *co; // Datenzeiger int dim; // Elementanzahl public: vector(); // Default: 1-elementiger Vektor vector(int d); // d-elementiger Vektor vector(const vector& ori); // Copy-Konstruktor virtual double& operator [] (int d); // sicherer Zugriff mit Test, ob die Grenzen // eingehalten werden. // Wenn nein, Fehlermeldung und Abbruch virtual int ub(); // groesster zulaessiger Index }; Anwendungsbeispiel: vector v(10); for (int i=0; i < v.ub(); i++) v[i] = 0.0; Verwenden Sie "vector" als Basisklasse um daraus die Klasse "vector_bound" abzuleiten. "vector_bound" implementiert einen Vektor mit Unter- und Obergrenze (wie in Pascal). Auch in "vector_bound" soll der Zugriff mit Bereichs- pruefung erfolgen. Als zusaetzliche Elementfunktion hat "vector_bound" die Rueckgabe der Vektoruntergrenze "int lb()". Anwendungsbeispiel: vector_bound vb(-10,8); for (int i=vb.lb(); i <= vb.ub(); i++) vb[i] = i; Geben Sie ein kleines Beispiel-Programm mit ab, das alle Konstruktoren und Methoden von vector_bound testet. Aufgabe 14) ----------- Formulieren Sie vector und vector_bound als generische Klassen und demonstrieren Sie Ihre Implementierung mit Vektoren ueber dem Typ "date". Loesungen bitte bis zum 19.6.1997 16h.