Debuggen, es fehlen noch das der richtige Musikinstrument Konstruktor aufgerufen wird wenn ein Musikinstrument aufgefrufen wird benutzt wird
This commit is contained in:
@@ -3,4 +3,4 @@
|
|||||||
using namespace std;
|
using namespace std;
|
||||||
Klavier::Klavier() { cout << "Konstruktor: Klavier()" << endl; }
|
Klavier::Klavier() { cout << "Konstruktor: Klavier()" << endl; }
|
||||||
Klavier::~Klavier() { cout << "Destruktor: ~Klavier()" << endl; }
|
Klavier::~Klavier() { cout << "Destruktor: ~Klavier()" << endl; }
|
||||||
void Klavier::spielen() { cout << "Klavier klimpert" << endl; }
|
void Klavier::spielen() const { cout << "Klavier klimpert" << endl; }
|
||||||
|
|||||||
@@ -4,5 +4,5 @@ class Klavier : public Musikinstrument {
|
|||||||
public:
|
public:
|
||||||
Klavier();
|
Klavier();
|
||||||
virtual ~Klavier();
|
virtual ~Klavier();
|
||||||
virtual void spielen();
|
virtual void spielen() const;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -9,12 +9,15 @@ Musiker::Musiker(string name) {
|
|||||||
this->name = name;
|
this->name = name;
|
||||||
cout << "Konstruktor: Musiker(string name): " << name << endl;
|
cout << "Konstruktor: Musiker(string name): " << name << endl;
|
||||||
}
|
}
|
||||||
Musiker::~Musiker() { cout << "Destruktor: ~Musiker()" << endl; }
|
Musiker::~Musiker() {
|
||||||
|
cout << "Destruktor: ~Musiker()" << endl;
|
||||||
|
delete this->instrument;
|
||||||
|
}
|
||||||
string Musiker::liefereName() { return name; }
|
string Musiker::liefereName() { return name; }
|
||||||
void Musiker::spielen() const {
|
void Musiker::spielen() const {
|
||||||
cout << name << " spielt " << instrument->liefereName() << endl;
|
cout << name << " spielt " << instrument->liefereName() << endl;
|
||||||
|
this->instrument->spielen();
|
||||||
}
|
}
|
||||||
void Musiker::weiseInstrumentZu(Musikinstrument const *instrument) {
|
void Musiker::weiseInstrumentZu(Musikinstrument const *instrument) {
|
||||||
// Musikinstrument *musikinstrument = new Musikinstrument(*instrument);
|
this->instrument = instrument;
|
||||||
this->instrument = new Musikinstrument(*instrument);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Musikinstrument::Musikinstrument(string name) {
|
|||||||
Musikinstrument::~Musikinstrument() {
|
Musikinstrument::~Musikinstrument() {
|
||||||
cout << "Destruktor: Irgentein Musikinstrument" << endl;
|
cout << "Destruktor: Irgentein Musikinstrument" << endl;
|
||||||
}
|
}
|
||||||
void Musikinstrument::spielen() {
|
void Musikinstrument::spielen() const {
|
||||||
cout << "Irgentein Musikinstrument erklingt irgentwie" << endl;
|
cout << "Irgentein Musikinstrument erklingt irgentwie" << endl;
|
||||||
}
|
}
|
||||||
string Musikinstrument::liefereName() const{ return name; }
|
string Musikinstrument::liefereName() const { return this->name; }
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ public:
|
|||||||
Musikinstrument();
|
Musikinstrument();
|
||||||
Musikinstrument(std::string name);
|
Musikinstrument(std::string name);
|
||||||
virtual ~Musikinstrument();
|
virtual ~Musikinstrument();
|
||||||
virtual void spielen();
|
virtual void spielen() const;
|
||||||
std::string liefereName() const;
|
std::string liefereName() const;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,15 +5,14 @@ using namespace std;
|
|||||||
|
|
||||||
Orchester::Orchester() { cout << "Konstruktor: Orchester()" << endl; }
|
Orchester::Orchester() { cout << "Konstruktor: Orchester()" << endl; }
|
||||||
Orchester::~Orchester() {
|
Orchester::~Orchester() {
|
||||||
|
cout << "Destruktor: ~Orchester()" << endl;
|
||||||
for (int i = 0; i < musiker.size(); i++) {
|
for (int i = 0; i < musiker.size(); i++) {
|
||||||
delete musiker[i];
|
delete musiker[i];
|
||||||
}
|
}
|
||||||
cout << "Destruktor: ~Orchester()" << endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Orchester::hinzufuegen(Musiker const *musiker) {
|
void Orchester::hinzufuegen(Musiker const *musiker) {
|
||||||
//Musiker* neuerMusiker = new Musiker(*musiker);
|
Orchester::musiker.push_back(musiker);
|
||||||
Orchester::musiker.push_back(new Musiker(*musiker));
|
|
||||||
}
|
}
|
||||||
void Orchester::spielen() {
|
void Orchester::spielen() {
|
||||||
for (int i = 0; i < musiker.size(); ++i) {
|
for (int i = 0; i < musiker.size(); ++i) {
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
#include "Trompete.h"
|
#include "Trompete.h"
|
||||||
|
#include "Musikinstrument.h"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
Trompete::Trompete() { cout << "Konstruktor: Trompete()" << endl; }
|
Trompete::Trompete() {
|
||||||
|
Musikinstrument("Trompete");
|
||||||
|
cout << "Konstruktor: Trompete()" << endl; }
|
||||||
Trompete::~Trompete() { cout << "Destruktor: ~Trompete()" << endl; }
|
Trompete::~Trompete() { cout << "Destruktor: ~Trompete()" << endl; }
|
||||||
void Trompete::spielen() { cout << "Trompete trötet" << endl; }
|
void Trompete::spielen() const { cout << "Trompete trötet" << endl; }
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ class Trompete : public Musikinstrument {
|
|||||||
public:
|
public:
|
||||||
Trompete();
|
Trompete();
|
||||||
virtual ~Trompete();
|
virtual ~Trompete();
|
||||||
virtual void spielen() override;
|
virtual void spielen() const override;
|
||||||
};
|
};
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -27,7 +27,12 @@ int main() {
|
|||||||
Musiker *MusikinstrumentMusikerPtr = new Musiker(nameMusikinstrument);
|
Musiker *MusikinstrumentMusikerPtr = new Musiker(nameMusikinstrument);
|
||||||
Musikinstrument *musikinstrumentPtr = new Musikinstrument;
|
Musikinstrument *musikinstrumentPtr = new Musikinstrument;
|
||||||
MusikinstrumentMusikerPtr->weiseInstrumentZu(musikinstrumentPtr);
|
MusikinstrumentMusikerPtr->weiseInstrumentZu(musikinstrumentPtr);
|
||||||
std::cout << "+++ Musikinstrument Musiker erfolgreich addiert +++" << std::endl;
|
std::cout << "+++ Musikinstrument Musiker erfolgreich addiert +++"
|
||||||
|
<< std::endl;
|
||||||
|
|
||||||
|
Musikinstrument *musikinstrument4 = new Musikinstrument();
|
||||||
|
Musikinstrument *musikinstrument5 = new Klavier();
|
||||||
|
Musikinstrument *musikinstrument6 = new Trompete();
|
||||||
|
|
||||||
delete orchesterPtr;
|
delete orchesterPtr;
|
||||||
delete trompeteMusikerPtr;
|
delete trompeteMusikerPtr;
|
||||||
@@ -36,5 +41,6 @@ int main() {
|
|||||||
delete klavierPtr;
|
delete klavierPtr;
|
||||||
delete MusikinstrumentMusikerPtr;
|
delete MusikinstrumentMusikerPtr;
|
||||||
delete musikinstrumentPtr;
|
delete musikinstrumentPtr;
|
||||||
|
std::cout << "Lösche instrument4" << std::endl;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
#include "Klavier.h"
|
||||||
|
#include "Musiker.h"
|
||||||
|
#include "Musikinstrument.h"
|
||||||
|
#include "Orchester.h"
|
||||||
|
#include "Trompete.h"
|
||||||
|
#include <iostream>
|
||||||
|
#include <ostream>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
|
||||||
Reference in New Issue
Block a user