gpt4 book ai didi

c++ - 在具体类中将 protected 方法从抽象类更改为私有(private)

转载 作者:行者123 更新时间:2023-11-28 03:06:47 25 4
gpt4 key购买 nike

我想创建一个带有纯虚拟私有(private)方法的抽象类,但我无法在我的具体类中实现它。我的选择是将纯虚拟私有(private)方法设为 protected ,但在我的具体类中,我只想将其设为私有(private)。喜欢,

class IFoo
{
public:
IFoo(){}
virtual ~IFoo(){}

protected:
virtual void fooMethod() = 0;
};

class Foo : public IFoo
{
public:
Foo(){}
virtual ~Foo(){}

private:
virtual void fooMethod() {}
};

这样做有什么寓意吗?或者这样就好了?

谢谢!

最佳答案

为什么不能在基类中将方法设为私有(private)?将它们设为私有(private)是 C++ 的一种非常标准的设计模式。然后基类实现调用私有(private)方法的公共(public)/ protected 方法。

http://www.gotw.ca/publications/mill18.htm有更多关于使用公共(public)/私有(private)/ protected 虚拟方法的信息。

关于c++ - 在具体类中将 protected 方法从抽象类更改为私有(private),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19474802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com