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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Warum hängt die Adresse "This" Zeiger von der Erbschaftsreihenfolge ab? [Duplikat]

by Anonymous » 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;
};

Top