ILS Gepr. Informatiker CPBS07E Note 1.0

ILS Gepr. Informatiker CPBS07E Note 1.0 Cover - ILS Gepr. Informatiker CPBS07E Note 1.0 5.00
5,00 €

Fortgeschrittene Techniken bei der objektorientierten Programmierung

Das ist ein Lösungsvorschlag. Bitte nicht 1 zu 1 übernehmen.
Mir ist es egal ob du mich Plakatierst, ich habe meine Note schon bekommen, es könnte sich schlecht auf deine Note auswirken. ;)

Lass mir gerne eine Bewertung da, wenn dir die Aufgabe geholfen hat.
Diese Lösung enthält 2 Dateien: (pdf,doc) ~162.46 KB
Diese Lösung zu Deinen Favoriten hinzufügen?
Diese Lösung zum Warenkorb hinzufügen?
CPBS07E.pdf ~ 130.46 KB
CPBS07E.doc ~ 32 KB
1. Sie haben folgende Klassenvereinbarung:
class vogel
{
int gewicht;
int farbe;
};
Kann eine Klasse kleinerVogel, die von der Klasse vogel abgeleitet wird, auf
die Attribute gewicht und farbe der Klasse vogel zugreifen? Begründen Sie
bitte Ihre Antwort.
5 Pkt.

2. Sie haben folgende Klassenvereinbarungen:
class vogel
{
private:
int gewicht;
int farbe;
};
class kleinerVogel : public vogel
{
private:
int groesse;
}
Die Klasse kleinerVogel soll auf das Attribut gewicht der Klasse vogel zugreifen können. Welche Möglichkeiten kennen Sie, diesen Zugriff zu ermöglichen?
Bewerten Sie diese Möglichkeiten bitte auch. Achten Sie dabei besonders auf die Datenkapselung.
Ein Tipp: Sie sollten drei verschiedene Varianten nennen können. Zwei hängen direkt mit der Vereinbarung des Attributs zusammen, die dritte dagegen nicht.
15 Pkt.

3. Betrachten Sie bitte folgendes Quelltextfragment. Es erzeugt eine Liste mit zwei Zeigern auf die Klasse baer und ruft für jedes Element in der Liste die Methode
ausgeben() auf.
baer* baerenliste[2];
baer* testBaer;
baerenliste[0] = new baer(200, 20);
baerenliste[1] = new elternBaer(150, 10, 2);
testBaer = baerenliste[0];
testBaer->ausgeben();
testBaer = baerenliste[1];
testBaer->ausgeben();
Die Klasse elternBaer ist von der Klasse baer abgeleitet und verfügt über eine
eigene Methode ausgeben(), die die Methode ausgeben() der Basisklasse überschreiben soll. Die Methode ausgeben() der Basisklasse ist nicht als virtual
vereinbart.
Wird die Methode der Basisklasse tatsächlich überschrieben? Wie lauten die vollständigen Namen der Methoden, die aufgerufen werden? Geben Sie die Namen bitte
im Format <Klassenname::Methodenname> an.
Ein Tipp zur Lösung: Wenn Sie mit dem Fragment so nicht zurechtkommen, bauen
Sie es einfach in eines der „Bären“-Programme aus dem Studienheft ein.
10 Pkt.

4. Für eine Klasse test gibt es folgende Vereinbarung:
class test
{
private:
float a;
float b;
public:
test(float, float);
};
Erstellen Sie für diese Klasse einen Konstruktor, der die Werte der Attribute a und
b über eine Elementinitialisierungsliste mit Variablenkonstruktoren setzt. Das Attribut a soll mit dem Wert des Parameters x initialisiert werden und das Attribut
b mit dem Wert des Parameters y.
10 Pkt

5. Sie haben folgende Basisklasse insekt:
class insekt
{
protected:
int laenge;
int gewicht;
public:
insekt(int, int);
virtual void essen();
virtual void ausgabe();
};
insekt::insekt(int l, int g)
{
laenge = l;
gewicht = g;
}
void insekt::essen()
{
laenge++;
gewicht++;
}
void insekt::ausgabe()
{
cout << "Das Insekt ist " << laenge <<" cm lang und wiegt "
<< gewicht << " Gramm.
";
}
Leiten Sie von dieser Basisklasse eine Klasse libelle ab. Die Klasse libelle soll
zusätzlich das Attribut geschwindigkeit enthalten, das über einen Konstruktor
mit einem beliebigen Wert initialisiert werden kann.
Die Methode essen() der Klasse libelle soll nicht nur das Gewicht und die
Länge erhöhen, sondern auch die Geschwindigkeit verringern.
Ändern Sie auch die Methode ausgabe() der Klasse libelle so, dass zusätzlich
die Geschwindigkeit ausgegeben wird.
60 Pkt.
Weitere Information: 04.05.2024 - 11:41:12
  Kategorie: Technik und Informatik
Eingestellt am: 01.03.2021 von Franky90
Letzte Aktualisierung: 09.12.2021
0 Bewertung
12345
Studium:
Bisher verkauft: 18 mal
Bisher aufgerufen: 878 mal
Prüfungs-/Lernheft-Code: CPBS07E-XX1-N01
Benotung: 1
Enthaltene Schlagworte:
Bewertungen
noch keine Bewertungen vorhanden
Benötigst Du Hilfe?
Solltest du Hilfe benötigen, dann wende dich bitte an unseren Support. Wir helfen dir gerne weiter!
Was ist StudyAid.de?
StudyAid.de ist eine Plattform um selbst erstellte Musterlösungen, Einsendeaufgaben oder Lernhilfen zu verkaufen.

Jeder kann mitmachen. StudyAid.de ist sicher, schnell, komfortabel und 100% kostenlos.
Rechtliches
Für diesen Artikel ist der Verkäufer verantwortlich.

Sollte mal etwas nicht passen, kannst Du gerne hier einen Verstoß melden oder Dich einfach an unseren Support wenden.

Alle Preise verstehen sich inkl. der gesetzlichen MwSt.
Mehr von Franky90
 
Zahlungsarten
  • Payments
Auf StudyAid.de verkaufen
> 2000
Schrieb uns eine WhatsApp