4. Objektorientierte Konzepte

Inhalt:

    4.1 Datenschutz
    4.2 Überladen von Operatoren
    4.3 Namensräume
    4.4 Templates
    4.5 Beispiele
    4.6 Übungen

4.1 Datenschutz

4.2 Überladen von Operatoren

4.3 Namensräume

4.4 Templates

4.5 Beispiele

  1. Stack-Template in 4 Schritten - mehr
  2. Baum-Template - mehr
  3. Complex-Klasse und Anwendung: ASCII Mandelbrot (Quellcode: ASCII-Variant mit eigenen komplexen zahlene, ASCII-Variant mit komplexen Zahlene aus der C++ Template Library, Eigene grafische Variante; Fertiges Programm: XaoS)

4.6 Übungen

  1. Vergleichen Sie die Stack-Klasse mit der stack-Klasse der STL. Welche Gemeinsamkeiten und Unterschiede bestehen?
  2. Benutzen Sie die das Stack-Template aus der Vorlesung, um den RPN-Taschenrechner aus Übung 3.11.1 bzw. dem letzten Semester nachzuprogrammieren. (C Quellcode)
  3. Diverse Aufgaben rund um Templates (Sauer Test Nr. 8)
  4. Eine Person hat einen Namen, eine Personalnummer und ein Gehalt. PersonMitOrt ableiten von Person, und PersonMitGehald ableiten von PersonMitOrt. Ein gemischtes Feld von Personen, PersonMitOrt'en und PersonMitGehalt'en sortieren und ausgeben!
  5. Klasse von Zahlen definieren, und Klassen für Fließkomma-, rationale und komplexe Zahlen ableiten. (vgl. Jobst Extra-Blatt, Aufgabe 2 und complex(7). Definieren Sie die Operationen Addition (+), Subtraktion (-), Multiplikation (*), Division (/) sowie die Ausgabe mittels iostream (<<).
  6. Erstellen Sie eine Klasse fuer Vektoren beliebiger (anzugebender) Dimension. Definieren Sie Konstruktoren, abs(), ueberladen Sie die Operatoren +, - und *. Erstellen Sie eine Anwendung die die Funktionen testet! (Lösungsvorschlag)
  7. Erstellen sie eine Klasse für eine Matrix, die eine eine beliebige Anzahl Zeilen und Spalten haben kann, und die entsprechende Anzahl Elemente aufnimmt. Mit der Matrix-Klasse sollen dann typische Operationen durchgeführt werden können: Die Implementierung könnte auf folgende Weise erfolgen: Lösungsgrundlage: Vektor-Übung

$Id: 4-oop2.html,v 1.28 2008/06/19 12:02:47 feyrer Exp $
Copyright (c) 2008 Hubert Feyrer <hubert@feyrer.de>
Alle Rechte vorbehalten.