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;
|
||||
Klavier::Klavier() { cout << "Konstruktor: 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:
|
||||
Klavier();
|
||||
virtual ~Klavier();
|
||||
virtual void spielen();
|
||||
virtual void spielen() const;
|
||||
};
|
||||
|
||||
@ -9,12 +9,15 @@ Musiker::Musiker(string name) {
|
||||
this->name = name;
|
||||
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; }
|
||||
void Musiker::spielen() const {
|
||||
cout << name << " spielt " << instrument->liefereName() << endl;
|
||||
this->instrument->spielen();
|
||||
}
|
||||
void Musiker::weiseInstrumentZu(Musikinstrument const *instrument) {
|
||||
// Musikinstrument *musikinstrument = new Musikinstrument(*instrument);
|
||||
this->instrument = new Musikinstrument(*instrument);
|
||||
this->instrument = instrument;
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ Musikinstrument::Musikinstrument(string name) {
|
||||
Musikinstrument::~Musikinstrument() {
|
||||
cout << "Destruktor: Irgentein Musikinstrument" << endl;
|
||||
}
|
||||
void Musikinstrument::spielen() {
|
||||
void Musikinstrument::spielen() const {
|
||||
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(std::string name);
|
||||
virtual ~Musikinstrument();
|
||||
virtual void spielen();
|
||||
virtual void spielen() const;
|
||||
std::string liefereName() const;
|
||||
};
|
||||
|
||||
@ -5,15 +5,14 @@ using namespace std;
|
||||
|
||||
Orchester::Orchester() { cout << "Konstruktor: Orchester()" << endl; }
|
||||
Orchester::~Orchester() {
|
||||
cout << "Destruktor: ~Orchester()" << endl;
|
||||
for (int i = 0; i < musiker.size(); i++) {
|
||||
delete musiker[i];
|
||||
}
|
||||
cout << "Destruktor: ~Orchester()" << endl;
|
||||
}
|
||||
|
||||
void Orchester::hinzufuegen(Musiker const *musiker) {
|
||||
//Musiker* neuerMusiker = new Musiker(*musiker);
|
||||
Orchester::musiker.push_back(new Musiker(*musiker));
|
||||
Orchester::musiker.push_back(musiker);
|
||||
}
|
||||
void Orchester::spielen() {
|
||||
for (int i = 0; i < musiker.size(); ++i) {
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
#include "Trompete.h"
|
||||
#include "Musikinstrument.h"
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
Trompete::Trompete() { cout << "Konstruktor: Trompete()" << endl; }
|
||||
Trompete::Trompete() {
|
||||
Musikinstrument("Trompete");
|
||||
cout << "Konstruktor: 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:
|
||||
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);
|
||||
Klavier *klavierPtr = new Klavier;
|
||||
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";
|
||||
Musiker *MusikinstrumentMusikerPtr = new Musiker(nameMusikinstrument);
|
||||
Musikinstrument *musikinstrumentPtr = new Musikinstrument;
|
||||
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 trompeteMusikerPtr;
|
||||
@ -36,5 +41,6 @@ int main() {
|
||||
delete klavierPtr;
|
||||
delete MusikinstrumentMusikerPtr;
|
||||
delete musikinstrumentPtr;
|
||||
std::cout << "Lösche instrument4" << std::endl;
|
||||
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