将受保护的方法从抽象类更改为私有混凝土类
我想创建一个具有纯虚拟私有方法的抽象类,但是我无法在具体的类中实现它。 我的选择是使这种纯粹的虚拟私人方法得到保护,但在具体的课堂上,我想让它只是一个私人的方法。 喜欢,
class IFoo
{
public:
IFoo(){}
virtual ~IFoo(){}
protected:
virtual void fooMethod() = 0;
};
class Foo : public IFoo
{
public:
Foo(){}
virtual ~Foo(){}
private:
virtual void fooMethod() {}
};
有没有这样做的含义? 或者这很好?
谢谢!
为什么你不能在基类中使这个方法是私有的? 使它们变为私有是C ++的一个非常标准的设计模式。 然后基类实现调用私有方法的公共/受保护方法。
http://www.gotw.ca/publications/mill18.htm有更多关于公共/私人/受保护的虚拟方法的使用信息。
链接地址: http://www.djcxy.com/p/27731.html上一篇: Change Protected Method From Abstract Class to Private In Concrete Class