Указатель базового класса против унаследованного указателя класса?
Предположим, у меня есть классDog
что наследует от классаAnimal
, В чем разница между этими двумя строками кода?
Animal *a = new Dog();
Dog *d = new Dog();
В одном указатель для базового класса, а в другом указатель для производного класса. Но когда это различие станет важным? Для полиморфизма любой из них будет работать точно так же, верно?