相关疑难解决方法(0)

我应该将所有方法标记为虚拟吗

在Java中,您可以将方法标记为final,以使其无法覆盖.

在C#中,您必须将方法标记为虚拟,以便可以覆盖.

这是否意味着在C#中你应该将所有方法标记为虚拟(除了一些你不想被覆盖的方法),因为很可能你不知道你的类可以以什么方式被继承?

c# java methods virtual-functions

71
推荐指数
4
解决办法
7070
查看次数

"根据经验,在C++中使所有方法成为虚拟" - 声音建议?

我刚刚发生了标题中的陈述.完整的报价是:

根据经验,使所有方法都是虚拟的(包括析构函数,而不是构造函数),以避免与遗漏虚拟关键字相关的问题.

我在Wrox的专业C++书中找到了这个.你可以谷歌检查.

有什么事吗?我原以为你只提供选择扩展点,而不是默认的可扩展性.例如,Herb Sutter在2001年发表的一篇文章就这么说了.从那时起,有什么改变发生了戏剧性的规范吗?(请注意,我是一名C++ noob,因此我在过去十年中没有关注过这个问题.)

c++ virtual

15
推荐指数
2
解决办法
1642
查看次数

标签 统计

c# ×1

c++ ×1

java ×1

methods ×1

virtual ×1

virtual-functions ×1