Base Klassenzeiger vs geerbter Klassenzeiger?

Angenommen, ich habe eine KlasseDog das von einer Klasse erbtAnimal. Was ist der Unterschied zwischen diesen beiden Codezeilen?

    Animal *a = new Dog();
    Dog *d = new Dog();

In einem ist der Zeiger für die Basisklasse und in dem anderen ist der Zeiger für die abgeleitete Klasse. Aber wann würde diese Unterscheidung wichtig werden? Für den Polymorphismus würde beides genauso funktionieren, oder?

Antworten auf die Frage(16)

Ihre Antwort auf die Frage