玩心未泯

卡尔斯希普拉斯

C++博客 首页 新随笔 联系 聚合 管理
  19 Posts :: 0 Stories :: 98 Comments :: 0 Trackbacks

随意在csdn的论坛逛逛,结果看到有人问一个关于虚函数的问题,看来又是新手要求助了,倒是想看看又虚函数又问出个什么花样。
问题如下:
有对象A,B,C,其中B是A的派生类,C又是B的派生类;有如下调用:

A *pA = (A*)pC;//pC是类C对象指针
pA->Run();

这里,Run是一个虚函数,在类A中有实现,同时在类B中又有新的实现,而在类C中没有实现。

那么,请问这里pA->Run()调用的是类A中的Run还是类B中的Run?为什么?

看完就有点失望,不过还是有好心人已经回答了这个没有创意的问题,提出这样问题的人是否应该反思一下?当你有时间到论坛上打出这么个问题,是不是可以用一段短小的代码来调试一下自己寻求答案呢?在A和B的run函数里面分别设置一个断点,结果不就出来了么?
所以,我认为,程序员还是应该有研究精神的,特别是当你碰到问题想要解决问题或者寻求答案的时候,首先要考虑的是自己应该如何去研究,而不是一切依赖他人,动不动就发问了。从我个人的观点出发,就很鄙视提出这种没有意义的问题的“程序员”,他不配做一个程序员,更不配做一个C++的程序员。

posted on 2007-04-02 01:47 SuperPlayeR 阅读(340) 评论(0)  编辑 收藏 引用 所属分类: 东弹西扯

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理