【发布时间】:2013-05-23 22:29:41
【问题描述】:
我正在阅读关于NonVirtual Interface pattern 的文章:Herb Sutter 正在谈论为什么虚拟函数在大多数情况下必须是私有的,在某些情况下是受保护的并且从不公开。
但在文章的最后他写道:
不要从具体类派生。或者,正如 Scott Meyers 在更有效的 C++ 的第 33 条中所说的那样,[8]“使非叶类抽象化”。 (诚然,它可能在实践中发生——当然是由其他人编写的代码,而不是你!——在这种情况下,你可能必须有一个公共的虚拟析构函数来适应已经很糟糕的设计。最好重构不过,如果可以,请修复设计。)
但我不明白为什么这是一个糟糕的设计
【问题讨论】:
-
这正是我在阅读文章后偶然发现的,谷歌搜索把我带到了这里哈哈
标签: c++ inheritance