Debuggen, es fehlen noch das der richtige Musikinstrument Konstruktor aufgerufen wird wenn ein Musikinstrument aufgefrufen wird benutzt wird
This commit is contained in:
parent
28bf74d2a8
commit
5c0724bea0
@ -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.
BIN
7_Musiker/code/build/vgcore.4770
Normal file
BIN
7_Musiker/code/build/vgcore.4770
Normal file
Binary file not shown.
Binary file not shown.
@ -21,13 +21,18 @@ int main() {
|
|||||||
Musiker *klavierMusikerPtr = new Musiker(nameKlavier);
|
Musiker *klavierMusikerPtr = new Musiker(nameKlavier);
|
||||||
Klavier *klavierPtr = new Klavier;
|
Klavier *klavierPtr = new Klavier;
|
||||||
klavierMusikerPtr->weiseInstrumentZu(klavierPtr);
|
klavierMusikerPtr->weiseInstrumentZu(klavierPtr);
|
||||||
std::cout << "+++ Klavier Musiker erfolgreich addiert +++"<< std::endl;
|
std::cout << "+++ Klavier Musiker erfolgreich addiert +++" << std::endl;
|
||||||
|
|
||||||
std::string nameMusikinstrument = "Musiker mit Musikinstrument";
|
std::string nameMusikinstrument = "Musiker mit Musikinstrument";
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|||||||
12
7_Musiker/code/test2.cpp
Normal file
12
7_Musiker/code/test2.cpp
Normal file
@ -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() {
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user