因为你没有给出A B类的代码,只有调用的代码,只能反过来推。
A &m = a;
m = b; 其实这两句中第一句没有意义,相当于 A &m = b;结果静态绑定输出A,说明你的display不是虚函数,所以派生类没有覆盖它。
首先头两个B可以确定,A是基类,B是派生类,并且重写了虚函数display。
第三个是A是因为用基类引用一个派生类对象,由于派生类对象也是基类的对象,所这种引用是安全的,但是只能引用基类成员。
所以调用基类的display函数,输出A
大神再看看,感觉引用和多态的关系很微妙啊