A Za, A Za, Fighting...

坚信:勤能补拙

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

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

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



参考:

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


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


导航

<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜