다음을 통해 공유


구성원 개체를 초기화합니다.

클래스 클래스 형식 멤버 개체를 포함할 수 있지만 구성원 개체에 대 한 초기화 요구 사항을 만족 하는 다음 조건 중 하나가 충족 되어야 합니다.

  • 포함 된 개체의 클래스에는 생성자가 없습니다 있어야합니다.

  • 포함 된 개체의 클래스에 액세스할 수 있는 기본 생성자가 있습니다.

  • 모든 포함 하는 클래스의 생성자는 명시적으로 포함 된 개체를 초기화합니다.

다음 예제에서는 이러한 초기화를 수행 하는 방법을 보여 줍니다.

// spec1_initializing_member_objects.cpp
// Declare a class Point.
class Point
{
public:
    Point( int x, int y ) { _x = x; _y = y; }
private:
    int _x, _y;
};

// Declare a rectangle class that contains objects of type Point.
class Rect
{
public:
    Rect( int x1, int y1, int x2, int y2 );
private:
    Point _topleft, _bottomright;
};

//  Define the constructor for class Rect. This constructor
//   explicitly initializes the objects of type Point.
Rect::Rect( int x1, int y1, int x2, int y2 ) :
_topleft( x1, y1 ), _bottomright( x2, y2 )
{
}

int main()
{
}

Rect 앞의 예제에 표시 된 클래스를 포함 두 구성원 개체가 클래스의 Point.개체의 생성자를 명시적으로 초기화 _topleft 및 _bottomright.참고 콜론을 닫는 괄호 생성자 (정의)에 따릅니다.콜론 뒤에 멤버 이름 및 인수 형식의 개체를 초기화 하는 데 사용할 나옵니다 Point.

[!참고]

멤버 이니셜라이저는 생성자에 지정 된 순서에서 멤버를 구성 하는 순서는 영향을 주지 않습니다. 멤버 클래스에서 선언 되는 순서에서 생성 됩니다.

참조 및 const 의 문법 섹션에 멤버 초기화 구문 사용 하 여 멤버 개체를 초기화 해야 합니다 초기화 하는 기본 및 멤버.이러한 개체 초기화 다른 방법이 없습니다.

참고 항목

참조

기본 및 멤버를 초기화합니다.