>백엔드 개발 >C++ >C Enum 클래스에서 기본 클래스 상속을 어떻게 달성할 수 있습니까?

C Enum 클래스에서 기본 클래스 상속을 어떻게 달성할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-30 20:20:021113검색

How Can I Achieve Base Class Inheritance in C   Enum Classes?

Enum 클래스의 기본 클래스 상속

C에서 enum은 정수와 연결된 명명된 값 집합을 나타내는 열거형 유형입니다. . 열거형은 상수를 나타내는 데 편리할 수 있지만 새 열거형을 만들기 위해 기존 열거형에서 상속해야 하는 상황이 있을 수 있습니다.

질문에 제공된 코드 조각은 하나의 열거형( eBase)를 다른 것(eDerived)으로 변환하지만 C에서는 직접 지원되지 않습니다. 열거형은 클래스가 아니므로 전통적인 의미로 상속될 수 없습니다.

그러나 유사한 기능을 달성할 수 있는 해결 방법이 있습니다. 열거형 상수를 나타내는 기본 클래스를 정의하면 이 클래스에서 상속하여 새 열거형 유형을 만들 수 있습니다.

<code class="cpp">enum class Enum : int
{
public:
    EnumValue One = 1,
    EnumValue Two,
    EnumValue Last
};

enum class EnumDerived : int
{
public:
    EnumValue Three = Enum::Last,
    EnumValue Four,
    EnumValue Five
};</code>

이 예에서 Enum 클래스는 기본 열거형을 나타내고 EnumDerived 클래스는 다음을 상속합니다. 그것으로부터. EnumValue 값은 개별 열거형 상수를 나타냅니다.

상속된 열거형의 값에 액세스하려면 다음 코드에 표시된 대로 정규화된 이름을 사용합니다.

<code class="cpp">int main()
{
    std::cout << EnumDerived::EnumValueOne << std::endl;
    std::cout << EnumDerived::EnumValueFour << std::endl;
}</code>

이를 활용하여 접근 방식을 사용하면 C의 열거형 클래스에서 기본 클래스 상속을 달성하여 기존 열거형을 확장하고 추가 값을 사용하여 새 열거형을 생성하는 방법을 제공할 수 있습니다.

위 내용은 C Enum 클래스에서 기본 클래스 상속을 어떻게 달성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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