小编hlx*_*6sk的帖子

在派生类中更改功能访问模式

请考虑以下代码段:

struct Base
{
  virtual ~Base() {}

  virtual void Foo() const = 0; // Public
};

class Child : public Base
{
  virtual void Foo() const {} // Private
};

int main()
{
  Child child;

  child.Foo(); // Won't work. Foo is private in this context.

  static_cast<Base&> (child).Foo(); // Okay. Foo is public in this context.
}
Run Code Online (Sandbox Code Playgroud)

这是合法的C++吗?"这"正在改变派生类中的虚函数访问模式.

c++ inheritance access-modifiers

26
推荐指数
3
解决办法
2万
查看次数

标签 统计

access-modifiers ×1

c++ ×1

inheritance ×1