Warum hängt die Adresse "This" Zeiger von der Erbschaftsreihenfolge ab? [Duplikat]
Posted: 02 Jun 2025, 18:32
Ich scheine ein grundlegendes Verständnis zu haben. In diesem minimalen Beispiel, warum ist die Adresse dieses Zeiger in den Eltern unterschiedlich, abhängig von der Erbschaftsreihenfolge?
Code: Select all
class bParent2 {
public:
void addressParent2() {
this;
}
};
class bParent1 {
public:
void addressParent1()
{
this;
}
};
class B :
public bParent1,
public bParent2 // this pointer address is bigger in the second parent?!?
{
public:
void addressB()
{
this;
}
};
class A {
public:
A() {
bInA = new B();
bInA->addressParent1();
bInA->addressParent2();
bInA->addressB();
}
~A() {
delete bInA;
}
B* bInA = nullptr;
};