曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2759|回复: 0
打印 上一主题 下一主题

关于虚基类的几点疑问

[复制链接]

716

主题

734

帖子

2946

积分

超级版主

Rank: 9Rank: 9Rank: 9

积分
2946
跳转到指定楼层
楼主
发表于 2013-12-13 22:12:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Q : 为什么要用“虚”基类?

A :为什么要使用属于“虚”呢?实际上,虚函数和虚基类之间不存在明显的联系。C++ 用户强烈反对引入新的关键字,因为这给他们带来很大的压力。例如,如果新关键字与重要程序中的重要函数或变量名称相同,这就会非常麻烦。因此,C++ 对“虚基类”这种新特性(只保留一个基类副本)也适用了关键字 virtual ---- 有点像关键字重载。


Q:为什么不抛弃将基类声明为“虚”的这种方式,而是直接将其作为多重继承的准则呢?

A :第一,在一些情况下,可能需要基类的多个拷贝。第二,将基类作为“虚”的要求程序完成额外的计算,为不需要的工具而付出代价是不应当的

Q:使用虚基类麻烦吗?

A:有点麻烦,为了使虚基类能够工作,需要对 C++ 规则进行调整,必须以不同的方式编写一些代码。另外,使用虚基类还可能需要修改已有的代码。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-17 20:58 , Processed in 0.062145 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表