【发布时间】:2011-01-11 08:35:17
【问题描述】:
在 C++ 中将私有方法设为虚拟有什么好处?
我在一个开源 C++ 项目中注意到了这一点:
class HTMLDocument : public Document, public CachedResourceClient {
private:
virtual bool childAllowed(Node*);
virtual PassRefPtr<Element> createElement(const AtomicString& tagName, ExceptionCode&);
};
【问题讨论】:
-
我认为问题是倒退的。使某些东西成为虚拟的原因总是相同的:允许派生类覆盖它。那么问题应该是:将虚方法设为私有有什么好处?答案是:默认情况下将所有内容设为私有。 :-)
-
@ShreevatsaR 但你甚至没有回答你自己的问题......
-
@ShreevatsaR 我以为您的意思是以不同的方式倒退:使虚拟方法不私有有什么好处?
标签: c++ polymorphism access-specifier