Rita minnesbild på instanser
struct A {
virtual void foo() { std::cout << "J"; } };
struct B : public A { B() : a(this) {}
void foo() { std::cout << "A"; } A *a;
};
Om jag instansierar ett b B b;
Nedan två förslag på ritning. Man kan även rita klasserna ovanpå varandra istället för inuti som jag brukar göra.
A
virtual foo()
B
foo() a
A
virtual foo()
B
foo() a
b
b
A
virtual foo()
A
virtual foo() Virtual
table foo()
B b;
B b2 = b;
A a;
A & a2 = a;
Man måste rita en instans för varje objekt som instansieras!
A
virtual foo()
B
foo() a
b
A
virtual foo()
B
foo() a
b2
A
A
virtual foo()
A
virtual foo() virtual foo()