在一个类中调用想要调用另一个基类的继承类的函数

在一个类中调用想要调用另一个基类的继承类的函数,却一直调用的是基类里的函数

img

img

img


我想要在Shapes这个类里统计所有图形的面积,然后用数组Shapelist存了几种图形,但是在Shapes里调用getArea时,一直是Shape里的函数,而不是在Circle几个继承类里重载过的getArea

你怎么知道调用的到底是父类的函数还是子类的函数,你设置断点了吗,print了吗,还是只看结果是0就认为是父类函数在起作用,而跟你子类本身的数据无关

为什么非要在Shapes中统计呢,在类外面写个函数他不香吗?
在Shapes类中调用它的子类会不会有问题你想过吗?

你的Shapelist数组只是Shape的数组,不是Shape*的数组啊。指针才有多态性。而且你这里数组明明是shape的数组,却用派生类的指针进行强制转换,这都是错的