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

Programme in C++. Entwicklerforum
Anonymous
 Warum hängt die Adresse "This" Zeiger von der Erbschaftsreihenfolge ab? [Duplikat]

Post 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;
};

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post