teste, ich denke der Fehler liegt irgentwo dabei den eingegebenen String richtig zu allokieren
This commit is contained in:
parent
08abbd17b3
commit
28bf74d2a8
@ -1,4 +1,3 @@
|
||||
cmake_minimum_required(VERSION 4.3.0)
|
||||
project(7_Musiker)
|
||||
add_executable(${PROJECT_NAME} main.cpp Musikinstrument.cpp Trompete.cpp Klavier.cpp Musiker.cpp Orchester.cpp)
|
||||
|
||||
|
||||
@ -11,8 +11,10 @@ Musiker::Musiker(string name) {
|
||||
}
|
||||
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;
|
||||
void Musiker::spielen() const {
|
||||
cout << name << " spielt " << instrument->liefereName() << endl;
|
||||
}
|
||||
void Musiker::weiseInstrumentZu(Musikinstrument const *instrument) {
|
||||
// Musikinstrument *musikinstrument = new Musikinstrument(*instrument);
|
||||
this->instrument = new Musikinstrument(*instrument);
|
||||
}
|
||||
|
||||
@ -12,6 +12,6 @@ public:
|
||||
Musiker(std::string name);
|
||||
virtual ~Musiker();
|
||||
void weiseInstrumentZu(Musikinstrument const* instrument);
|
||||
void spielen();
|
||||
void spielen() const;
|
||||
std::string liefereName();
|
||||
};
|
||||
|
||||
@ -15,4 +15,4 @@ Musikinstrument::~Musikinstrument() {
|
||||
void Musikinstrument::spielen() {
|
||||
cout << "Irgentein Musikinstrument erklingt irgentwie" << endl;
|
||||
}
|
||||
string Musikinstrument::liefereName() { return name; }
|
||||
string Musikinstrument::liefereName() const{ return name; }
|
||||
|
||||
@ -8,7 +8,7 @@ private:
|
||||
public:
|
||||
Musikinstrument();
|
||||
Musikinstrument(std::string name);
|
||||
~Musikinstrument();
|
||||
virtual ~Musikinstrument();
|
||||
virtual void spielen();
|
||||
std::string liefereName();
|
||||
std::string liefereName() const;
|
||||
};
|
||||
|
||||
@ -4,12 +4,19 @@
|
||||
using namespace std;
|
||||
|
||||
Orchester::Orchester() { cout << "Konstruktor: Orchester()" << endl; }
|
||||
Orchester::~Orchester() { cout << "Destruktor: ~Orchester()" << endl; }
|
||||
Orchester::~Orchester() {
|
||||
for (int i = 0; i < musiker.size(); i++) {
|
||||
delete musiker[i];
|
||||
}
|
||||
cout << "Destruktor: ~Orchester()" << endl;
|
||||
}
|
||||
|
||||
void Orchester::hinzufuegen(Musiker const *musiker) {
|
||||
Orchester::musiker.push_back(*musiker);
|
||||
//Musiker* neuerMusiker = new Musiker(*musiker);
|
||||
Orchester::musiker.push_back(new Musiker(*musiker));
|
||||
}
|
||||
void Orchester::spielen() {
|
||||
for (int i = 0; i < musiker.size(); ++i) {
|
||||
musiker[i].spielen();
|
||||
musiker[i]->spielen();
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
class Orchester {
|
||||
private:
|
||||
std::vector<Musiker> musiker;
|
||||
std::vector<Musiker const*> musiker;
|
||||
|
||||
public:
|
||||
Orchester();
|
||||
|
||||
Binary file not shown.
@ -31,7 +31,7 @@ CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||
|
||||
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
||||
// MinSizeRel ...
|
||||
CMAKE_BUILD_TYPE:STRING=
|
||||
CMAKE_BUILD_TYPE:STRING=Debug
|
||||
|
||||
//Enable/Disable color output during build.
|
||||
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -6,5 +6,5 @@ CXX_DEFINES =
|
||||
|
||||
CXX_INCLUDES =
|
||||
|
||||
CXX_FLAGS =
|
||||
CXX_FLAGS = -g
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
/usr/bin/c++ -Wl,--dependency-file=CMakeFiles/7_Musiker.dir/link.d CMakeFiles/7_Musiker.dir/main.cpp.o CMakeFiles/7_Musiker.dir/Musikinstrument.cpp.o CMakeFiles/7_Musiker.dir/Trompete.cpp.o CMakeFiles/7_Musiker.dir/Klavier.cpp.o CMakeFiles/7_Musiker.dir/Musiker.cpp.o CMakeFiles/7_Musiker.dir/Orchester.cpp.o -o 7_Musiker
|
||||
/usr/bin/c++ -g -Wl,--dependency-file=CMakeFiles/7_Musiker.dir/link.d CMakeFiles/7_Musiker.dir/main.cpp.o CMakeFiles/7_Musiker.dir/Musikinstrument.cpp.o CMakeFiles/7_Musiker.dir/Trompete.cpp.o CMakeFiles/7_Musiker.dir/Klavier.cpp.o CMakeFiles/7_Musiker.dir/Musiker.cpp.o CMakeFiles/7_Musiker.dir/Orchester.cpp.o -o 7_Musiker
|
||||
|
||||
Binary file not shown.
@ -12,7 +12,7 @@ if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "")
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "Debug")
|
||||
endif()
|
||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
endif()
|
||||
|
||||
BIN
7_Musiker/code/build/heaptrack.7_Musiker.9249.zst
Normal file
BIN
7_Musiker/code/build/heaptrack.7_Musiker.9249.zst
Normal file
Binary file not shown.
BIN
7_Musiker/code/build/heaptrack.7_Musiker.9358.zst
Normal file
BIN
7_Musiker/code/build/heaptrack.7_Musiker.9358.zst
Normal file
Binary file not shown.
BIN
7_Musiker/code/build/new_core.8847
Normal file
BIN
7_Musiker/code/build/new_core.8847
Normal file
Binary file not shown.
BIN
7_Musiker/code/build/vgcore.9540
Normal file
BIN
7_Musiker/code/build/vgcore.9540
Normal file
Binary file not shown.
BIN
7_Musiker/code/test
Executable file
BIN
7_Musiker/code/test
Executable file
Binary file not shown.
40
7_Musiker/code/test.cpp
Normal file
40
7_Musiker/code/test.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
#include "Klavier.h"
|
||||
#include "Musiker.h"
|
||||
#include "Musikinstrument.h"
|
||||
#include "Orchester.h"
|
||||
#include "Trompete.h"
|
||||
#include <iostream>
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
int main() {
|
||||
// Test Orchester
|
||||
Orchester *orchesterPtr = new Orchester;
|
||||
Orchester testOrchester = *orchesterPtr;
|
||||
std::cout << "+++ Orchester erfolgreich addiert +++" << std::endl;
|
||||
std::string nameTrompete = "Musiker mit Trompete";
|
||||
Musiker *trompeteMusikerPtr = new Musiker(nameTrompete);
|
||||
Trompete *trompetePtr = new Trompete;
|
||||
trompeteMusikerPtr->weiseInstrumentZu(trompetePtr);
|
||||
std::cout << "Trompeten Musiker erfolgreich addiert +++" << std::endl;
|
||||
|
||||
std::string nameKlavier = "Musiker mit Klavier";
|
||||
Musiker *klavierMusikerPtr = new Musiker(nameKlavier);
|
||||
Klavier *klavierPtr = new Klavier;
|
||||
klavierMusikerPtr->weiseInstrumentZu(klavierPtr);
|
||||
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;
|
||||
|
||||
delete orchesterPtr;
|
||||
delete trompeteMusikerPtr;
|
||||
delete trompetePtr;
|
||||
delete klavierMusikerPtr;
|
||||
delete klavierPtr;
|
||||
delete MusikinstrumentMusikerPtr;
|
||||
delete musikinstrumentPtr;
|
||||
return 0;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user