0% fanden dieses Dokument nützlich (0 Abstimmungen)
46 Ansichten2 Seiten

WS1213 Programmieren 2 C++ Pruefung

Das Dokument beschreibt verschiedene Aufgaben zur Implementierung von Klassen und Funktionen in C++. Es geht um die Erstellung von Exceptions, Vektorklassen, abstrakten Klassen, Arrays und Vererbungshierarchien sowie die Verwendung von Namespaces.

Hochgeladen von

tasnimlouati03122002
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
46 Ansichten2 Seiten

WS1213 Programmieren 2 C++ Pruefung

Das Dokument beschreibt verschiedene Aufgaben zur Implementierung von Klassen und Funktionen in C++. Es geht um die Erstellung von Exceptions, Vektorklassen, abstrakten Klassen, Arrays und Vererbungshierarchien sowie die Verwendung von Namespaces.

Hochgeladen von

tasnimlouati03122002
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
Sie sind auf Seite 1/ 2

Programmieren 2 C++ - WS 2012/13

Vorgegebene Funktion umschreiben:


• Enum erstellen für Exceptions.
• Exception in Funktion schmeißen. Fehlerbehandlung mit Ausgabe auf std::cerr.
• Angabe von throw(..) in der Signatur.
• In Funktionstemplate umwandeln

Klasse Vektor2 erstellen mit Variablen double x0 und double x1:


• Benötigte Methoden erkennen, damit die Ausgabe eines gegebenen Hauptprogramms erzeugt
wird. (operator*(double,Vektor2), operator[](int), operator<<(ostream&,Vektor2),
Vektor2(double,double))
• vektor2.h mit Mehrfachinkludierungs-Schutz erstellen
• vektor2.cpp alle Methoden/Konstruktoren/Operatoren implementieren

NTupel als abstrakte Klasse ohne Variablen:


• rein virtuelle Methoden: int getAnzahl(), double getWert(int)
• Methode void gib_aus() in der abstrakten Klasse mithilfe der Funktionen getAnzahl() und
getWert() implementieren
• Paar vom NTupel ableiten mit double x0 und double x1 und abstrakte Methoden vom
NTupel redefinieren
• Tripel vom NTupel ableiten mit Array für 3 Double-Werte und abstrakte Methoden vom NTupel
redefinieren

Main mit strcpy gegeben: char* string; strcpy(string, "Hallo Welt"); cout << string:
• Was ist falsch?
• Fehler korrigieren

• Es gibt Heap, Stack und Datensegment. In welchen der genannten Bereichen werden dynamische,
statische und automatische Variablen angelegt?

• Lebensdauer von 3 Variablen aus angegebenem Code angeben (eine war global, eine auf dem Heap
ohne delete und eine automatisch)

• Fehlersuche bei gegebenem Code: Betrag& operator+(const Betrag& p, const Betrag& q) {…}

• Wofür braucht man Namensräume / namespace?


Verständnisfragen zu Array:
• Array mit 10 Objekten auf Stack anlegen
• Array mit 5 Objekten auf Heap anlegen
• Array auf Heap löschen
• Welche Methode muss vorhanden sein, um Array von Objekten auf Stack oder Heap anzulegen?

Verständnisfragen zu Assoziationen:
• Bei welchen Arten von Assoziationen muss der Headerfile der assoziierten Klasse bei der
Klassendeklaration inkludiert werden?
• Bei Welcher Assoziation darf das Headerfile bei der Klassendeklaration NICHT inkludiert werden?

• Muss der erste Operand eines überladenen Operators immer ein Objekt einer Klasse sein?
• Vererbung gegeben ( class A { int i; }; class B : public A {...}; class C : private A {...} ) mit public und
private Vererbung. Hat man externen Zugriff auf Variable in Basisklasse? -> in kleinem
Hauptprogramm veranschaulichen
• Wann wir Copy-Konstruktor implizit aufgerufen? 3 Fälle angeben

Das könnte Ihnen auch gefallen