永发信息网

c++为什么需要虚函数表

答案:2  悬赏:80  手机版
解决时间 2021-03-18 19:14
c++为什么需要虚函数表
最佳答案
楼上说的不全吧,只有纯虚类才无法实例化。
至于不能为虚函数,我的理解是:
构造函数是给类初始化调用的,明白点说就是给类中的成员变量赋初始值。
如果构造函数是虚函数,意味着肯能被重载,也就是在子类实例化的时候给父类初始化时是调用子类重载的函数,先不管合不合法,要想初始化父类,就需呀知道父类的成员变量或函数,这样岂不是父类向子类完全暴露了自己的成员?这不合乎数据封装的概念吧。
当然,这只是我个人理解,当然ANSI最新的标准貌似构造函数是可以为虚的,不过对于现在我来看的话,感觉没什么意思。
全部回答
调用构造函数时,虚表才建立,构造函数是虚函数,谁建立虚表啊.... 析构函数之所以搞成虚函数,因为你可能采用基类指针动态申请派生类对象, 用完用delete吧,这时 将才产生一个问题,基类指针指向何种对象?如果是虚函数,根据多态, 直接delete,会根据对象,调用析构,即可完美解决,否则需要根据类型转换,很是麻烦啊... 所以,总结一下: 1,构造函数一定不要是虚函数, 2,一个类要被继承派生时,析构函数定义成虚函数是极佳选择。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
点茶地址在什么地方,想过去办事
英联邦有多少成员国?
如何写好网文
金毛幼犬感冒能自愈吗,金毛幼犬感冒多久能好
造梦西游3摩多衣服怎么神铸
浪女长相是什么样的
什么极了什么透了造句
我不是懦夫阅读答案 文章主要叙述了那两件事
祛疤膏抹上流血正常吗
台州市路桥绿环塑粉公司怎么去啊,有知道地址
l龙族中路明非是什么身份?龙四大致内容是什
u盘上面的彩印能不能擦掉
图表家分析可靠吗?
珠海电视台地址在哪里?
福如东海乘仙鹤对联下一句是啥
推荐资讯
媳妇没有教养不理睬公婆怎么办
求。 官场风月 刘明强 全本下载……
有知道新的百家姓里颜排第几吗?
请问一下开个小学培训班都应该从哪里下手去做
sine qua non是什么意思
简述题 企业采用多角化战略应当注意什么问题
造梦西游4西牛贺州罗睺会掉落什么装备
老人手舞足蹈是不是想要表达什么吗,思想清楚
公积金销户要等3个月吗
大润发玛特超级购物广场地址在什么地方,想过
大众CC的机油尺放进去再油底壳的什么位置。在
剑网三重置版笔记本最低配置是什么,我的笔记
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?