卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章52185本站已运行31127

C++ 函数继承详解:什么是继承访问权限?

在 c++++ 中,派生类对基类函数的访问权限取决于继承级别:public:派生类可以无限制地访问和重写基类 public 函数。protected:派生类只能访问和重写基类的 protected 函数,不能直接从基类的对象调用。private:派生类不能访问基类的 private 函数。

C++ 函数继承详解:什么是继承访问权限?

C++ 函数继承详解:什么是继承访问权限?

在 C++ 中,当派生类继承基类时,它可以继承基类的成员,包括函数。根据继承权限的不同,派生类对基类函数的访问方式也不同。

继承访问权限级别

C++ 中有三种继承访问权限级别:

  • public:派生类可以无限制地访问和重写基类的 public 函数。
  • protected:派生类只能访问和重写基类的 protected 函数,不能直接从基类的对象调用。
  • private:派生类不能访问基类的 private 函数。

实战案例

考虑以下基类和派生类:

class Base {
public:
  void public_function();
protected:
  void protected_function();
private:
  void private_function();
};

class Derived : public Base {
public:
  // 派生类可以无限制地访问 public 函数
  void call_public_function() {
    public_function();
  }

protected:
  // 派生类只能访问 protected 函数
  void call_protected_function() {
    protected_function();
  }
};

由这个例子可以看出:

  • 派生类 Derived 可以通过 call_public_function 方法访问基类的 public_function
  • 派生类也可以通过 call_protected_function 方法访问基类的 protected_function
  • 派生类不能直接访问或重写基类的 private_function,因为它是私有的。

注意

值得注意的是,虽然基类的 protected 函数不能从基类的对象直接调用,但它们可以从派生类的 protected 或 public 函数中调用,前提是派生类有权访问这些 protected 函数。

卓越飞翔博客
上一篇: 如何为 PHP 网站创建自定义日志记录解决方案
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏