隐藏和虚函数
没加virtual前, Shape、Circle、Rect的double calcArea()函数同名,且参数相同,为什么Shape *shape1 = new Circle(4.0);执行后调用的是Shape中的calcArea()呢?为什么子类的同名函数没有隐藏掉父类的函数呢?
没加virtual前, Shape、Circle、Rect的double calcArea()函数同名,且参数相同,为什么Shape *shape1 = new Circle(4.0);执行后调用的是Shape中的calcArea()呢?为什么子类的同名函数没有隐藏掉父类的函数呢?
2016-09-12
举报