>백엔드 개발 >C++ >C++ 함수 상속에 대한 자세한 설명: 상속된 액세스 권한이란 무엇입니까?

C++ 함수 상속에 대한 자세한 설명: 상속된 액세스 권한이란 무엇입니까?

PHPz
PHPz원래의
2024-05-03 08:42:021114검색

C++에서 기본 클래스 함수에 대한 파생 클래스의 액세스는 상속 수준에 따라 다릅니다. 공개: 파생 클래스는 제한 없이 기본 클래스 공개 함수에 액세스하고 재정의할 수 있습니다. 보호됨: 파생 클래스는 기본 클래스의 보호된 함수에만 액세스하고 재정의할 수 있으며 기본 클래스의 개체에서 직접 호출할 수 없습니다. private: 파생 클래스는 기본 클래스의 비공개 함수에 액세스할 수 없습니다.

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

C++ 함수 상속에 대한 자세한 설명: 상속된 액세스 권한이란 무엇입니까?

C++에서는 파생 클래스가 기본 클래스를 상속할 때 함수를 포함하여 기본 클래스의 멤버를 상속할 수 있습니다. 상속 권한에 따라 파생 클래스에는 기본 클래스 함수에 액세스하는 다양한 방법이 있습니다.

상속된 액세스 수준

C++에는 세 가지 상속된 액세스 수준이 있습니다.

  • 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();
  }
};

이 예에서 볼 수 있듯이:

  • 파생 클래스 Derivedcall_public_function을 통해 액세스할 수 있습니다. 기본 클래스의 public_function 메서드. Derived 可以通过 call_public_function 方法访问基类的 public_function
  • 派生类也可以通过 call_protected_function 方法访问基类的 protected_function
  • 派生类不能直接访问或重写基类的 private_function
  • 파생 클래스는 call_protected_function 메서드를 통해 기본 클래스의 protected_function에 액세스할 수도 있습니다.

파생 클래스

는 비공개 클래스이기 때문에 기본 클래스의 private_function에 직접 액세스하거나 재정의할 수

없습니다.

🎜🎜Note🎜🎜기본 클래스의 보호 함수는 기본 클래스의 개체에서 직접 호출할 수 없지만 파생 클래스의 보호 또는 공용 함수에서는 호출할 수 있다는 점에 주목할 가치가 있습니다. 클래스는 이러한 보호된 함수에 액세스할 수 있습니다. 🎜

위 내용은 C++ 함수 상속에 대한 자세한 설명: 상속된 액세스 권한이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.