다음을 통해 공유


특수 멤버 함수를 사용한 초기화

이 단원에서는 특수 멤버 함수를 사용하는 초기화를 설명하고 초기화에 대해 다음 사항을 다룹니다.

  • 집합체 초기화 - 비클래스 형식의 배열 및 단순 클래스 형식의 개체를 초기화하는 방법을 설명합니다. 이 단순 클래스 형식은 전용 또는 보호된 멤버를 가질 수 없으며 기본 클래스를 사용할 수 없습니다.

  • 생성자 - 특수 생성자 함수를 사용하여 클래스 형식 개체를 초기화하는 방법을 설명합니다.

기본적인 초기화 방법은 이니셜라이저에서 초기화할 개체로 비트별 복사를 수행하는 것입니다. 이 기술은 다음에 대해서만 적용됩니다.

  • 기본 제공 형식의 개체. 예를 들면 다음과 같습니다.

    int i = 100;
    
  • 포인터. 예를 들면 다음과 같습니다.

    int i;
    int *pi = &i;
    
  • 참조. 예를 들면 다음과 같습니다.

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • 클래스에 전용 또는 보호된 멤버, 가상 함수 및 기본 클래스가 없는 클래스 형식의 개체. 예를 들면 다음과 같습니다.

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

클래스는 생성자 함수를 정의하여 초기화를 자세히 지정할 수 있습니다. 이러한 함수 선언에 대한 자세한 내용은 생성자를 참조하십시오. 개체가 생성자를 가진 클래스 형식일 경우 개체를 초기화하거나 기본 생성자가 있어야 합니다. 특별히 초기화되지 않은 개체는 클래스의 기본 생성자를 호출합니다.

참고 항목

참조

특수 멤버 함수 (C++)