一个关于多态的问题

学习多态的时候,遇到了这样一个问题,一开始,我认为答案会是"seven dwarft","DisneyMovie",“seven dwarfts”,“Miki Mouse”

随后,亲自用VS2013试验了一下

结果如下:

与我预期的不一样,后来翻阅书籍,知道了。比如,A objectA = new D();这一行语句,实现的过程是,new 的()后会

先找到,class D的基类A,看到函数是virtual,之后沿继承关系向下,找到第一个override,就是objectB.movie(),所以这句

语句的执行结果就是DisneyMovie

原文地址:https://www.cnblogs.com/tjuxiepeng/p/4379010.html