我有以下方案:
class Interface
{
virtual ~Interface() { }
virtual void foo() const = 0;
virtual void bar() const = 0;
}
//Interface is derived privately mostly for preventing upcast outside
class Derived : private Interface
{
public:
void foo() const;
private:
void bar() const;
}
它不编译:foo
是私有的。有没有办法在不添加虚拟公共功能的情况下将其公开?