diff --git a/7_Musiker/code/Klavier.h b/7_Musiker/code/Klavier.h index 5fec05f..78919c3 100644 --- a/7_Musiker/code/Klavier.h +++ b/7_Musiker/code/Klavier.h @@ -1,6 +1,6 @@ #pragma once #include "Musikinstrument.h" -class Klavier : Musikinstrument { +class Klavier : public Musikinstrument { public: Klavier(); virtual ~Klavier(); diff --git a/7_Musiker/code/Musiker.cpp b/7_Musiker/code/Musiker.cpp index 1bbe886..c7e4040 100644 --- a/7_Musiker/code/Musiker.cpp +++ b/7_Musiker/code/Musiker.cpp @@ -4,22 +4,15 @@ #include using namespace std; -Musiker::Musiker(){ - cout << "Konstruktor: Musiker()" << endl; +Musiker::Musiker() { cout << "Konstruktor: Musiker()" << endl; } +Musiker::Musiker(string name) { + this->name = name; + cout << "Konstruktor: Musiker(string name): " << name << endl; } -Musiker::Musiker(string name){ - this->name = name; - cout << "Konstruktor: Musiker(string name): " << name << endl; +Musiker::~Musiker() { cout << "Destruktor: ~Musiker()" << endl; } +string Musiker::liefereName() { return name; } +void Musiker::spielen() { cout << name << "spielt " << instrument << endl; } +void Musiker::weiseInstrumentZu(Musikinstrument const *instrument) { + Musikinstrument *musikinstrument = new Musikinstrument(*instrument); + this->instrument = musikinstrument; } -Musiker::~Musiker(){ - cout << "Destruktor: ~Musiker()" << endl; -} -string Musiker::liefereName(){ - return name; -} -void Musiker::spielen(){ - cout << name << "spielt" << -instrument.liefereName() << ":" << endl; - -} -void Musiker::weiseInstrumentZu(Musikinstrument const* instrument){} diff --git a/7_Musiker/code/Musiker.h b/7_Musiker/code/Musiker.h index 05af2b4..4bea408 100644 --- a/7_Musiker/code/Musiker.h +++ b/7_Musiker/code/Musiker.h @@ -1,18 +1,17 @@ #pragma once -#include "Musiker.h" #include "Musikinstrument.h" #include class Musiker { private: std::string name; - Musikinstrument const *instrument; + Musikinstrument const* instrument; public: Musiker(); Musiker(std::string name); virtual ~Musiker(); - void weiseInstrumentZu(const Musikinstrument *instrument); + void weiseInstrumentZu(Musikinstrument const* instrument); void spielen(); std::string liefereName(); }; diff --git a/7_Musiker/code/Orchester.cpp b/7_Musiker/code/Orchester.cpp index a7f71f1..047b85f 100644 --- a/7_Musiker/code/Orchester.cpp +++ b/7_Musiker/code/Orchester.cpp @@ -1 +1,15 @@ #include "Orchester.h" +#include "Musiker.h" +#include +using namespace std; + +Orchester::Orchester() { cout << "Konstruktor: Orchester()" << endl; } +Orchester::~Orchester() { cout << "Destruktor: ~Orchester()" << endl; } +void Orchester::hinzufügen(Musiker const *musiker) { + Orchester::musiker.push_back(*musiker); +} +void Orchester::spielen() { + for (int i = 0; i < musiker.size(); ++i) { + musiker[i].spielen(); + } +} diff --git a/7_Musiker/code/Trompete.h b/7_Musiker/code/Trompete.h index 92ca5d2..42d3048 100644 --- a/7_Musiker/code/Trompete.h +++ b/7_Musiker/code/Trompete.h @@ -1,7 +1,7 @@ #pragma once #include "Musikinstrument.h" -class Trompete : Musikinstrument { +class Trompete : public Musikinstrument { public: Trompete(); virtual ~Trompete();