Base class pointer vs inherited class pointer?

后端 未结 8 1206
独厮守ぢ
独厮守ぢ 2021-01-05 23:11

Suppose I have a class Dog that inherits from a class Animal. What is the difference between these two lines of code?

    Animal *a         


        
8条回答
  •  余生分开走
    2021-01-06 00:02

    It makes no real difference at run time, as the two instances are the same. The only difference is at compile time, where you could call for example d->bark() but not a->bark(), even if a actually contains a dog. The compiler considers the variable to be an animal and only that.

提交回复
热议问题