ホームページ >バックエンド開発 >C++ >C++ 関数の継承の詳細説明: 継承されたアクセス権とは何ですか?

C++ 関数の継承の詳細説明: 継承されたアクセス権とは何ですか?

PHPz
PHPzオリジナル
2024-05-03 08:42:021098ブラウズ

C では、基底クラス関数に対する派生クラスのアクセス権は、継承レベルによって異なります。 public: 派生クラスは、制限なく基底クラスのパブリック関数にアクセスし、オーバーライドできます。保護: 派生クラスは、基本クラスの保護された関数にアクセスしてオーバーライドすることのみが可能で、基本クラスのオブジェクトからそれらの関数を直接呼び出すことはできません。 private: 派生クラスは基本クラスのプライベート関数にアクセスできません。

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

#C 関数継承の詳しい説明: 継承されたアクセス権とは何ですか?

C では、派生クラスが基本クラスを継承する場合、関数を含む基本クラスのメンバーを継承できます。継承権限に応じて、派生クラスは基本クラス関数にアクセスするさまざまな方法を持ちます。

継承されたアクセス レベル

C には 3 つの継承されたアクセス レベルがあります。

  • public: 派生クラスは無制限のアクセス権を持ち、そのクラスをオーバーライドします。基本クラスのパブリック関数。
  • protected: 派生クラスは、基本クラスの保護された関数にアクセスしてオーバーライドすることしかできず、基本クラスのオブジェクトから直接呼び出すことはできません。
  • 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 がプライベートであるため、 直接アクセスしたりオーバーライドしたりすることはできません。

Note

基本クラスの保護された関数は、基本クラスのオブジェクトから直接呼び出すことはできませんが、保護された関数またはパブリック関数から呼び出すことができることに注意してください。前提条件は、派生クラスがこれらの保護された関数にアクセスできることです。

以上がC++ 関数の継承の詳細説明: 継承されたアクセス権とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。