这道题我选择的是b,对不对呀?

如题所述


虚函数一般是用在C++的多态里,如果这个题目实现了多态性,那么选B是对的

但是题目没有实现多态性,所以void Type(Animal a) { cout<<a.GetType(); }只是调用了基类Animal的方法

那如何实现多态性呢,C++是这样定义的:由基类指向子类的指针引用

所以要是改成这样void Type(Animal &a) { cout<<a.GetType(); },答案就选B了

简单的说,就是只有实现了多态性,虚函数才会调用到子类的方法





温馨提示:答案为网友推荐,仅供参考