> 백엔드 개발 > C++ > 멤버 초기화 목록은 C 생성자 및 상속에서 어떻게 작동합니까?

멤버 초기화 목록은 C 생성자 및 상속에서 어떻게 작동합니까?

Patricia Arquette
풀어 주다: 2024-11-27 20:04:14
원래의
996명이 탐색했습니다.

How Do Member Initialization Lists Work in C   Constructors and Inheritance?

생성자의 멤버 초기화 목록

C에서 생성자는 멤버 초기화 목록을 사용하여 데이터 멤버를 초기화할 수 있습니다. 이 목록은 생성자 이름 뒤에 콜론(:)으로 구분되어 나타납니다.

상속 및 멤버 초기화 목록

멤버 초기화 목록은 base를 호출하는 데에도 사용할 수 있습니다. 클래스 생성자. 제공된 코드에서 newdemo 생성자의

class demo 
{
public:
    demo(unsigned char le = 5, unsigned char default) : len(le) 
    { 
        ...
    }
};
class newdemo : public demo 
{
public:
    newdemo(void) : demo(0, 0)
    {
        ...
    }
};
로그인 후 복사

demo(0, 0)는 인수 0과 0을 사용하여 기본 클래스 데모의 생성자를 호출하고 len 멤버를 초기화합니다.

멤버 초기화 목록의 일반적인 사용법

상속 외에도 멤버 초기화 목록을 사용하면 for:

생성자 본문 전 데이터 멤버 초기화:

const가 아닌 멤버는 생성자 본문이 실행되기 전에 초기화 목록에서 초기화될 수 있습니다. 이렇게 하면 생성자의 흐름에 관계없이 멤버가 초기화됩니다.

Const 데이터 멤버 초기화:

Const 데이터 멤버는 선언 또는 a를 통해서만 초기화될 수 있습니다. 멤버 초기화 목록.

예:

class MyClass
{
public:
    MyClass(int value) : value(value) // Initialize const member in initialization list
    { 
        ...
    }
private:
    const int value;
};
로그인 후 복사

위 내용은 멤버 초기화 목록은 C 생성자 및 상속에서 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿