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

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

结果如下:

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

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

语句的执行结果就是DisneyMovie

 

posted on 2015-03-30 20:02  tjuxiepeng  阅读(170)  评论(0编辑  收藏  举报