Dr. Matthias Grabert Abteilung Angewandte Informationsverarbeitung 17. Oktober 2002
Johannes Mayer Blatt 1


Uni Logo



Objektorientierte Softwareentwicklung mit C++ (WS 2002/2003)


Abgabetermin: 24. Oktober 2002

1 Objektorientierung (3 Punkte)

Erklären Sie Ihrem Tutor die wichtigsten Begriffe der objektorientierten Programmierung: Klasse, Objekt, Methode, Attribut und Schnittstelle. Machen Sie Ihre Erklärung an einem Beispiel deutlich.

2 Zurück zu C (3 Punkte)

Sie haben das folgende C++-Progrämmchen noten.cc, das die Klausurergebnisse in einer Tabelle formatiert ausgibt:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int n;
    cout << "n = ";
    cin >> n;

    for (int i = 0; i < n; i++) {
        int matrnr;
        double note;
        // Matr.Nr. einlesen
        cout << "Matrikelnr.: ";
        cin >> matrnr;
        // Note einlesen
        cout << "Note:        ";
        cin >> note;
        // Datensatz ausgeben
        cout << setw(7) << matrnr << "|" << setw(3) << setprecision(2) << note << endl;
    }

    return 0;
}
Leider haben Sie noch keinen C++-Compiler auf Ihrem Rechner installiert. Einen C-Compiler haben Sie aber. Na, dann ist das ja kein großes Problem. Sie schreiben ,,einfach`` das C++-Programm in ein C-Programm um. Da sie ehrgeizig sind wollen Sie möglichst wenig ändern.

3 Und nun zu C++ (4 Punkte)

Sie haben noch aus Urzeiten ein kleines C-Programm (main.c, car.c und car.h). Dieses lässt sich wie folgt compilieren:

thales$ gcc main.c car.c
Dabei wir die ausführbare Datei a.out erzeugt.

In AI III haben Sie jedoch gelernt Makefiles zu verwenden. Diese Kenntnisse möchten Sie etwas auffrischen. Also schreiben Sie für Ihr C-Programm jetzt ein kleines Makefile (mit Erzeugung von .o-Dateien), das das ausführbare Programm car erzeugt. (2 Punkte)

Weil Sie mittlerweile auch einen C++-Compiler installiert haben, möchten Sie alle Ihre C-Programme nach C++ portieren. Also fangen wir klein an. Sie portieren also obiges C-Programm (car.c ...) nach C++. Sie kennen ja Ihren Ergeiz -- Sie wollen natürlich wieder möglichst wenig Änderungen durchführen. Vergessen Sie nicht, die Dateien umzubenennen (wg. Endungen) und das Makefile zu ändern. (2 Punkte)



Johannes Mayer 2002-10-17