A Za, A Za, Fighting...

坚信:勤能补拙

2011知识点 - 构造函数可以为虚函数吗

答案是:不可以
原因:
概念上,虚函数的意图是动态绑定,程序会根据对象的动态类型来选择要调用的方法。然而在构造函数运行的时候,这个对象的动态类型还不完整(可以是基类,也可以是子类),没有办法确定它到底是什么类型,故构造函数不能动态绑定。

实现上,vptr是构造函数设置的。通过vptr才能找到虚函数。
如果构造函数为虚函数,通过构造函数设置的vptr才能找到构造函数,然后调用它设置vptr,这是不可能实现的。 



参考:

posted on 2011-10-07 19:06 simplyzhao 阅读(398) 评论(0)  编辑 收藏 引用 所属分类: R_找工复习2011


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


导航

<2011年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜