Page 1 of 1

Warum hängt die Adresse "This" Zeiger von der Erbschaftsreihenfolge ab? [Duplikat]

Posted: 02 Jun 2025, 18:32
by Anonymous
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;
};