首页 > 试题广场 > 如下程序执行后的输出结果是()
[单选题]
如下程序执行后的输出结果是()
  • Base Base
  • Derived Derived
  • Derived Base
  • Base Derived

4个回答

添加回答
答案应该是D。   对于父类函数( virtual 、非 virtual ),如果有同型函数:
----非virtual函数由指针类型决定调用哪个 「即 f(Base &b)  , 指针类型为Base」
----virtual函数由指针指向的对象决定调用哪个(运行时决定)「即 Derive obj;   , 指针指向对象为Derive」
可参看: http://www.cppblog.com/liyuxia713/archive/2010/01/08/105170.html
发表于 2016-12-23 09:47:50 回复(0)
D。
这属于多态的内容。用父类指针指向子类对象时,在父类的成员函数前加virtual,调用时调用的才是子类本身的那个成员函数,否则调用的还是父类的成员函数。

发表于 2017-03-14 16:59:34 回复(0)
非虚函数由指针决定调用哪个(&) 虚函数由定义时指向的对象决定调用哪个(定义是派生类drived)
发表于 今天 21:06:12 回复(0)
基本的多态考察。
发表于 2016-12-09 09:48:04 回复(0)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋