From e8754a1ab49c0b93597b7a0af32078ef04e8cd7c Mon Sep 17 00:00:00 2001 From: kachelto100370 Date: Thu, 18 Jun 2026 21:42:57 +0200 Subject: [PATCH] =?UTF-8?q?Aufgabe=20fertig,=20alles=20abge=C3=A4ndert=20s?= =?UTF-8?q?o=20wies=20soll?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10_Ausgabe/code/Meine Reihenfolge.md | 3 +- 10_Ausgabe/code/abgeändert | Bin 0 -> 32520 bytes 10_Ausgabe/code/mainAbgändert.cpp | 106 +++++++++++++++++++++++++++ 3 files changed, 108 insertions(+), 1 deletion(-) create mode 100755 10_Ausgabe/code/abgeändert create mode 100644 10_Ausgabe/code/mainAbgändert.cpp diff --git a/10_Ausgabe/code/Meine Reihenfolge.md b/10_Ausgabe/code/Meine Reihenfolge.md index 50c4fa5..9326438 100644 --- a/10_Ausgabe/code/Meine Reihenfolge.md +++ b/10_Ausgabe/code/Meine Reihenfolge.md @@ -132,4 +132,5 @@ zzz 6 ``` # Was waren meine Fehler? Ich hab vergessen, das mit jeden C Objekt auch den B Konstruktor aufgerufen wird - +Nach xxx 4 hatte ich gedacht, der Destuktor von C wird aufgerufen, aber eigentlich wird der Destuktor von A aufgerufen. +Ich hab die Reihenfolge, mit der die Objekte nach zzz 6 gelöscht werden vertauscht. diff --git a/10_Ausgabe/code/abgeändert b/10_Ausgabe/code/abgeändert new file mode 100755 index 0000000000000000000000000000000000000000..cd1d7e3899f812cf25813589c3f80cde6f2d6d1a GIT binary patch literal 32520 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 L;%Z9)OIG{`jpt?v literal 0 HcmV?d00001 diff --git a/10_Ausgabe/code/mainAbgändert.cpp b/10_Ausgabe/code/mainAbgändert.cpp new file mode 100644 index 0000000..38686ac --- /dev/null +++ b/10_Ausgabe/code/mainAbgändert.cpp @@ -0,0 +1,106 @@ +#include +#include +using namespace std; + +class A +{ +public: + virtual void a() {} + virtual ~A() = default; +}; + +class B : public A +{ +public: + B(string s="") + { + id = ++idStat; + this->s = s; + info("B()"); + } + virtual ~B() + { + info("~B()"); + } + void a() + { + s += "1"; + info("B::a()"); + } + void b() + { + s += "2"; + info("B::b()"); + } + void b() const + { + info("B::b() const"); + } + static int liefereIdStat() + { + return idStat; + } +protected: + string s; + void info(const string& text) const + { + cout << id << ": " << text << " " << s << endl; + } +private: + int id; + static int idStat; +}; + +int B::idStat = 0; + +class C : public B +{ +public: + C() : B("C") + { + info("C()"); + } + virtual ~C() + { + info("~C()"); + } + void a() + { + s += "3"; + info("C::a()"); + } + void b() + { + s += "4"; + info("C::b()"); + } +}; + +int main() +{ + A a; + a.a(); + cout << "vvv " << B::liefereIdStat() << endl; + B const b; + b.b(); + cout << "www " << b.liefereIdStat() << endl; + C* c[2]; + c[0] = new C; + c[1] = new C; + c[0]->a(); + c[1]->b(); + delete c[0]; + delete c[1]; + const C c2; + cout << "xxx " << C::liefereIdStat() << endl; + A* ac = new C; + ac->a(); + delete ac; + cout << "yyy " << B::liefereIdStat() << endl; + B* bc = new C; + bc->a(); + bc->b(); + delete bc; + cout << "zzz " << B::liefereIdStat() << endl; +} +