应该是一个新手的问题的方法的含义......C++:使虚拟
我已经在现有的类,A现有的代码,我想,以覆盖现有的方法中,A ::延长F()。
所以现在我想创建类B来覆盖f(),因为我不想只改变A :: f(),因为其他代码依赖于它。
为此,我需要将A :: f()更改为虚拟方法,我相信。
我的问题是除了允许动态调用一个方法(使用B的实现而不是A)之外,还有其他任何让方法变为虚拟的含义吗?我打破了一些良好的编程习惯吗?这会影响其他试图使用A :: f()的代码吗?
请让我知道。
感谢, JBU
编辑:我的问题是沿的线条更是有什么问题让别人的方法,虚拟?即使你没有改变别人的实现,你仍然需要进入某人现有的代码并对声明进行修改。
你不能仅仅加上'virtual'在头一个第三方组件和它的工作 - 你将需要重新编译该组件为好。 – 2009-11-30 18:45:12
许多人给你有用的答案,你没有打扰他们,或接受答案。那不好。 – 2009-12-07 17:30:44