05_OOb: Vorbereitungen für Testat
Signed-off-by: Johannes Theiner <j.theiner@live.de>
This commit is contained in:
parent
e46a332efe
commit
745ab41c9d
|
@ -152,7 +152,6 @@ bool HeapObject::assertionsHold(){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class K : public HeapObject
|
class K : public HeapObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -160,19 +159,20 @@ public:
|
||||||
~K(){std::cout << "-K ";}
|
~K(){std::cout << "-K ";}
|
||||||
};
|
};
|
||||||
|
|
||||||
class L {
|
class M : public K{
|
||||||
|
public:
|
||||||
|
//B b; für Modifikation 5 einkommentieren
|
||||||
|
M(){std::cout << "+M ";}
|
||||||
|
~M(){std::cout << "-M ";}
|
||||||
|
};
|
||||||
|
|
||||||
|
class L : public M{
|
||||||
public:
|
public:
|
||||||
L(){std::cout << "+L ";}
|
L(){std::cout << "+L ";}
|
||||||
~L(){std::cout << "-L ";}
|
~L(){std::cout << "-L ";}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class M {
|
|
||||||
public:
|
|
||||||
M(){std::cout << "+M ";}
|
|
||||||
~M(){std::cout << "-M ";}
|
|
||||||
};
|
|
||||||
|
|
||||||
void pattern1() {
|
void pattern1() {
|
||||||
B b;
|
B b;
|
||||||
{
|
{
|
||||||
|
@ -187,6 +187,11 @@ void pattern2() {
|
||||||
A a;
|
A a;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
B AtoB(A &a) {
|
||||||
|
B &b = reinterpret_cast<B &>(a);
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
void pattern3() {
|
void pattern3() {
|
||||||
A a1;
|
A a1;
|
||||||
{
|
{
|
||||||
|
@ -194,6 +199,8 @@ void pattern3() {
|
||||||
{
|
{
|
||||||
B b;
|
B b;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
C c;
|
C c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,6 +229,9 @@ int main(int argc, const char * argv[]) {
|
||||||
pattern2();
|
pattern2();
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
pattern3();
|
pattern3();
|
||||||
|
std::cout << std::endl;
|
||||||
|
L *p = new L();
|
||||||
|
delete p;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue