Aufgabenstellung! Drigend!
-
Servus hoffe ihr könnt mir weiterhelfen.
Aufgabe 01: (Allgemeines und Vermischtes) 12 = 2 + 2 + 2 + 4 + 2 Punkte
a) Wozu dienen bei einer Klasse der
a1) private Teil?
a2) protected Teil?
a3) public Teil?
b) Erläutern Sie den Begriff abstrakter Datentyp und erläutern sie Ihn an einer Beispielklasse Stack. Für Stack geben sie bitte die vollständige Klasse (ohne Implementierung) an.
c) Sie haben Klassen ineinander geschachtelt. In welcher Reihenfolge müssen Sie die Konstruktoren aufrufen beim Anlegen des Objektes der äußersten Klasse?
__________________________________________________________________________
Aufgabe 02: (Friends) 8 = 2 + 2 + 2 + 2 Punktea) Warum sollte bei den mathematischen Datentypen Vektoren und Matrizen die Klasse Matrixen Friend der Klasse Vektoren sein.
b) Erläutern Sie, warum in der Übungsaufgabe die Klasse Teilchen Friend von der Klasse Detektor sein sollte?
c) Wie könnte das Nichtvorhandensein von Friends unschön umgangen werden?
d) Welche Relationseigenschaften von Friend-Klassen gelten? Bitte ankreuzen:
Transitiv? …… Nicht Transitiv? …
Symmetrisch? … Nicht Symmetrisch? ….
Vererbbar? ….. Nicht Vererbbar? …..
____________________________________________________________________________
Aufgabe 03: Memberfunktionen einer Klasse
Beziehungen zwischen Klassen
10 = 2 + 2 + 2 + 2 + 2 Punktea) Wie wird bei mehrfach vorhandenen und überladenen Konstruktoren einer Klasse die Eindeutigkeit beim Anlegen des Objektes hergestellt? Nach welcher Regel wird welcher Konstruktor aufgerufen?
b) Erläutern Sie, in welchen Fällen Sie den Kopierkonstruktor überladen müssen.
c) Erläutern sie, in welchen Fällen, sie explizit einen Destruktor angeben müssen.
d) Wie realisieren Sie eine is-a-Relation zwischen Objekten?
e) Wie realisieren Sie eine has-a Relation zwischen Objekten?
_____________________________________________________________________________
Aufgabe 04 (Vererbung , pure virtuelle Funktionen)
12 = 2 (für pure virtuell Funktion) +
2 (für Quadrat) +
2 (für Rechteck) +
2 (für Dreieck) +
2 (für Parallelogramm) +
2 (für main) PunkteSchreiben sie eine abstrakte Basisklasse Figur mit einer rein virtuellen Funktion area() zur Berechnung der Fläche einer Figur.
Von Figur leiten Sie folgendes ab:
- Ein Quadrat, Berechnung der area = aa,
- ein Rechteck, Berechnung der area= ab,
- ein Dreieck, Berechnung der area = (g * h) / 2, und
- ein Parallelogramm, Berechnung der area = g * h.Schreiben sie die Klassen nieder und ein dazugehöriges main zur Ausgabe der verschiednen area() .
____________________________________________________________________________
Aufgabe 05: (Mehrfachvererbung und Virtuelle Basisklassen)
8 = 2 + 2 + 2 + 2 Punktea) Bei Mehrfachvererbung treten Mehrdeutigkeiten auf. Bitte nennen und beschreiben Sie die beiden Mehrdeutigkeiten:
a1)
a2)
b) Wie lösen sie die Mehrdeutigkeiten
b1) im Fall a1):
b2) im Fall a2):
Lg Peter
-
wenn du alles beantwortest und begründest, schaue ich, ob ich dem zustimme.
-
Hey, er hat schliesslich geschrieben, es sei dringend.

-
Aufgabe 1
a1) private teil
Elemente und Methoden sind ausschließlich innerhalb der klasse zugreifbar, sowie für friends klassen und funktionen
a2)proteced teil
Elemente und Methoden sind in der eigenen und in allen public abgeleiteten Klassen zugreifbar, nicht aber in anderen Klassen oder außerhalb der klasse
a3)public teil
Elemente und Methoden unterliegen keiner Zugriffsbeschränkung
Die von jedem benutzbaren Operationen bilden die öffentlich Schnittstelle.b) Erläutern Sie den Begriff abstrakter Datentyp und erläutern sie Ihn an einer Beispielklasse Stack. Für Stack geben sie bitte die vollständige Klasse (ohne Implementierung) an.
Abstrakter Datenty = Daten + FUnktionen (Ein klasse in c++ )
class stack
{
- constructor
- destructor
- reserve
= Interface---> Zustandsabfrage
(Ist also gezeichnet als blockschaltbild, ansonsten kein plan was ich da machen soll)
c) Sie haben Klassen ineinander geschachtelt. In welcher Reihenfolge müssen Sie die Konstruktoren aufrufen beim Anlegen des Objektes der äußersten Klasse?
es wird der konstruktor mit der passenden signatur aufgerufen
Objekt z.b. mercedesin verschiedene klassen dann unterteilt
-sprinter
-combi
-normalAufgabe2)
a) Warum sollte bei den mathematischen Datentypen Vektoren und Matrizen die Klasse Matrixen Friend der Klasse Vektoren sein.Damit die Matrix die Werte von den Vektoren übernehmen kann, um die Matrix zu füllen
b) Erläutern Sie, warum in der Übungsaufgabe die Klasse Teilchen Friend von der Klasse Detektor sein sollte?
Detektor muss wissen wo sich das Teilchen befindet, deswegen benötigt man die Funktion friends, damit der Detektor auf den privaten teil zugreifen kann.
c) Wie könnte das Nichtvorhandensein von Friends unschön umgangen werden?
über getter und setter FUnktionend) Welche Relationseigenschaften von Friend-Klassen gelten? Bitte ankreuzen:
Transitiv? …… Nicht Transitiv? dieses…
Symmetrisch? … Nicht Symmetrisch? dieses….
Vererbbar? ….. Nicht Vererbbar? dieses…..
Aufgabe 03: Memberfunktionen einer Klasse
Beziehungen zwischen Klassen
10 = 2 + 2 + 2 + 2 + 2 Punktea) Wie wird bei mehrfach vorhandenen und überladenen Konstruktoren einer Klasse die Eindeutigkeit beim Anlegen des Objektes hergestellt? Nach welcher Regel wird welcher Konstruktor aufgerufen?
- unterschiedliche Anzahl von Parametern
- unterschiedliche DatentypenEs wird immer der konstruktor aufgerufen wo diese sachen übereinstimmen
b) Erläutern Sie, in welchen Fällen Sie den Kopierkonstruktor überladen müssen.
für alle fälle wo ein objekt mehr als 1 mal kopiert werden sollc) Erläutern sie, in welchen Fällen, sie explizit einen Destruktor angeben müssen.
immer dann , wenn das programm nicht automatisch bei bestimmten aktionen den speicher frei gibtd) Wie realisieren Sie eine is-a-Relation zwischen Objekten?
Vererbung
e) Wie realisieren Sie eine has-a Relation zwischen Objekten?ka
-
Fliege2009 schrieb:
Aufgabe 1
a1) private teil
Elemente und Methoden sind ausschließlich innerhalb der klasse zugreifbar, sowie für friends klassen und funktionen
jo.
Fliege2009 schrieb:
a2)proteced teil
Elemente und Methoden sind in der eigenen und in allen public abgeleiteten Klassen zugreifbar, nicht aber in anderen Klassen oder außerhalb der klasse
in allen abgeleiteten. nicht nur public.
Fliege2009 schrieb:
a3)public teil
Elemente und Methoden unterliegen keiner Zugriffsbeschränkung
Die von jedem benutzbaren Operationen bilden die öffentlich Schnittstelle.jo.
-
zur aufgabe 4 würde ich das so machen
http://img3.imageshack.us/my.php?image=cci3001200900000ar7.jpg
Beitrag Fliege2009 Mitglied 23:01:44 04.02.2009 Titel: Aufgabenstellung! Drigend! Editieren Zitieren
Servus hoffe ihr könnt mir weiterhelfen.Aufgabe 01: (Allgemeines und Vermischtes) 12 = 2 + 2 + 2 + 4 + 2 Punkte
a) Wozu dienen bei einer Klasse der
a1) private Teil?
a2) protected Teil?
a3) public Teil?
b) Erläutern Sie den Begriff abstrakter Datentyp und erläutern sie Ihn an einer Beispielklasse Stack. Für Stack geben sie bitte die vollständige Klasse (ohne Implementierung) an.
c) Sie haben Klassen ineinander geschachtelt. In welcher Reihenfolge müssen Sie die Konstruktoren aufrufen beim Anlegen des Objektes der äußersten Klasse?
__________________________________________________________________________
Aufgabe 02: (Friends) 8 = 2 + 2 + 2 + 2 Punktea) Warum sollte bei den mathematischen Datentypen Vektoren und Matrizen die Klasse Matrixen Friend der Klasse Vektoren sein.
b) Erläutern Sie, warum in der Übungsaufgabe die Klasse Teilchen Friend von der Klasse Detektor sein sollte?
c) Wie könnte das Nichtvorhandensein von Friends unschön umgangen werden?
d) Welche Relationseigenschaften von Friend-Klassen gelten? Bitte ankreuzen:
Transitiv? …… Nicht Transitiv? …
Symmetrisch? … Nicht Symmetrisch? ….
Vererbbar? ….. Nicht Vererbbar? …..
____________________________________________________________________________
Aufgabe 03: Memberfunktionen einer Klasse
Beziehungen zwischen Klassen
10 = 2 + 2 + 2 + 2 + 2 Punktea) Wie wird bei mehrfach vorhandenen und überladenen Konstruktoren einer Klasse die Eindeutigkeit beim Anlegen des Objektes hergestellt? Nach welcher Regel wird welcher Konstruktor aufgerufen?
b) Erläutern Sie, in welchen Fällen Sie den Kopierkonstruktor überladen müssen.
c) Erläutern sie, in welchen Fällen, sie explizit einen Destruktor angeben müssen.
d) Wie realisieren Sie eine is-a-Relation zwischen Objekten?
e) Wie realisieren Sie eine has-a Relation zwischen Objekten?
_____________________________________________________________________________
Aufgabe 04 (Vererbung , pure virtuelle Funktionen)
12 = 2 (für pure virtuell Funktion) +
2 (für Quadrat) +
2 (für Rechteck) +
2 (für Dreieck) +
2 (für Parallelogramm) +
2 (für main) PunkteSchreiben sie eine abstrakte Basisklasse Figur mit einer rein virtuellen Funktion area() zur Berechnung der Fläche einer Figur.
Von Figur leiten Sie folgendes ab:
- Ein Quadrat, Berechnung der area = aa,
- ein Rechteck, Berechnung der area= ab,
- ein Dreieck, Berechnung der area = (g * h) / 2, und
- ein Parallelogramm, Berechnung der area = g * h.Schreiben sie die Klassen nieder und ein dazugehöriges main zur Ausgabe der verschiednen area() .
____________________________________________________________________________
Aufgabe 05: (Mehrfachvererbung und Virtuelle Basisklassen)
8 = 2 + 2 + 2 + 2 Punktea) Bei Mehrfachvererbung treten Mehrdeutigkeiten auf. Bitte nennen und beschreiben Sie die beiden Mehrdeutigkeiten:
a1)
Namenskonflikte oder Kollisionen
entstehen wenn zwei verschiedene Oberklassen den gleichen namen für eine instanz oder eine methode benutzena2)
wiederholte vererbung
wenn 2 klassen a1,a2 den gleichen namen für 2 verschiedene methoden verwenden und diese an eine klasse vererben ist nicht entscheidbar welche methode gemeint istb) Wie lösen sie die Mehrdeutigkeiten
b1) im Fall a1):
zur auflösung des namenkonfliktes
muss in c++ der mehrdeutige name qualifiziert werden mit der quelle deklarationb2) im Fall a2):
die mehrdeutige namen der funktionen müssen qualifiziert werden
-
Fliege2009 schrieb:
d) Welche Relationseigenschaften von Friend-Klassen gelten? Bitte ankreuzen:
Transitiv? …… Nicht Transitiv? …
Symmetrisch? … Nicht Symmetrisch? ….
Vererbbar? ….. Nicht Vererbbar? …..
ohne zu sagen, was der fall ist, erkläre ich nur die worte:
transitiv würde heißen:
wenn A friend von B ist und B friend von C ist, dann ist A friend von C.symmetrisch würde heißen:
wenn A friend von B ist, dann ist B friend von A.vererbbar würde heißen:
wenn A friend von B ist und D von B erbt, dann ist A friend von D.
-
ok dann danke ich euch schon einmal für die ersten antworten vll könnt ihr über die restliche sachen auch mal drüber schauen.
hab von dem ganzen wenig plan und die aufgaben sind von unserem prof der nicht viel mehr plan hat

-
Fliege2009 schrieb:
sind von unserem prof der nicht viel mehr plan hat

ja, das sieht man an
a) Warum sollte bei den mathematischen Datentypen Vektoren und Matrizen die Klasse Matrixen Friend der Klasse Vektoren sein.
c) Wie könnte das Nichtvorhandensein von Friends unschön umgangen werden?ist aber nicht schlimm. programmieren ist so ein fach, das du grundsätzlich daheim lernen mußt, auch der allerbeste prof kann dir da nicht viel arbeit abnehmen.
-
ahja schon klar deswegen bin ich auch nie hin

aber werde des sowieso nicht mehr brauchen. naja aber selbst er konnte nicht die fragen gescheiht beantwortenund der ist eigentlich informatik prof .
-
kann mir jemand noch sagen ob die anderen sachen richtig sind??
-
Gibt es dafür nicht die Besprechung des Übungsblattes?

Die meisten Fragen hast du ja selbst noch unbeantwortet lassen, sofern ich das aufgrund der spärlichen Formattierung erkennen kann. Zur Aufgabe 04: Das was du da geschrieben hast, ist auf jeden Fall schonmal kein gültiger C++ Code, falls es welcher sein sollte. virtuell sollte z.B. virtual heißen, hinter einer Klassendefiniton folgt ein Semikolon, eine (Member-)Funktion hat ungefähr diesen syntaktischen Aufbau:
Rückgabetyp Funktionsname([Parameterliste]) [const Qualifizierer] { [Anweisungen] }
-
ja das bei aufgabe 4 soll nur grob sein einfach wie ein cluster oder wie ein ablauf.
besprechung??
hatte wir ja gemacht aber der ist immer abgesprungen von den aufgaben und hat ja selber keine ahnung davon. und die restlichen aufgaben habe ich beantwortet aber ka ob die stimmen 