Wie sicher ist es anzunehmen, dass der Zeiger einer abgeleiteten Klasse mit dem Zeiger der ersten Basisklasse der gleich
Posted: 10 May 2025, 19:50
Betrachten Sie dieses Programm: < /p>
struct Base1 { void *x; virtual ~Base1() { } };
struct Base2 { void *x; virtual ~Base2() { } };
struct Derived : Base1, Base2 { };
int main()
{
Derived d;
return &d == static_cast(static_cast(&d));
}
< /code>
In allen meinen Tests an Clang, GCC und Visual C ++ beträgt der Rückwert 1 < /code>. Bearbeiten: Ich nehme an, dass polymorphe Basisklassen.)
Welche realistischen Situationen gibt es (wenn überhaupt), in der ein Zeiger auf eine abgeleitete Klasse eine Anpassung benötigt, bevor er als Zeiger auf seine erster (nicht virtuell, polymoristisch) verwendet werden kann?>
struct Base1 { void *x; virtual ~Base1() { } };
struct Base2 { void *x; virtual ~Base2() { } };
struct Derived : Base1, Base2 { };
int main()
{
Derived d;
return &d == static_cast(static_cast(&d));
}
< /code>
In allen meinen Tests an Clang, GCC und Visual C ++ beträgt der Rückwert 1 < /code>. Bearbeiten: Ich nehme an, dass polymorphe Basisklassen.)
Welche realistischen Situationen gibt es (wenn überhaupt), in der ein Zeiger auf eine abgeleitete Klasse eine Anpassung benötigt, bevor er als Zeiger auf seine erster (nicht virtuell, polymoristisch) verwendet werden kann?>