기본 클래스를 초기화합니다.
직접 기본 클래스는 거의 같은 방법으로 member 개체가 초기화 됩니다.다음 예제를 참조하십시오.
// spec1_initializing_base_classes.cpp
// Declare class MyClass.
class MyClass
{
public:
MyClass( int rSize )
{
}
};
// Declare class DialogBox, derived from class MyClass
class DialogBox : public MyClass
{
public:
DialogBox( int rSize );
};
// Define the constructor for DialogBox. This constructor
// explicitly initializes the MyClass subobject.
DialogBox::DialogBox( int rSize ) : MyClass( rSize )
{
}
int main()
{
}
생성자에 대 한 참고 DialogBox, the MyClass 인수를 사용 하 여 기본 클래스 초기화 rSize.이 초기화를 초기화 하는 기본 클래스의 이름을 클래스의 생성자에 인수를 괄호로 묶은 목록으로 뒤에 구성 되어 있습니다.
기본 클래스의 초기화에서 기본 클래스의 구성 요소를 나타내는 하위 개체를 개체 "전체 개체" 것으로 간주 됩니다. 완전 한 개체 클래스 "가장 많이 파생 된" 클래스의 개체에 대 한 간주 됩니다.
가상 기본 클래스를 나타내는 하위 개체는 가장 많이 파생 된 클래스의 생성자에 의해 초기화 됩니다.즉 가상 파생 지정 되는 위치를 가장 많이 파생 된 클래스는 가상 기본 클래스를 명시적으로 초기화 해야 또는 가상 기본 클래스는 기본 생성자가 있어야 합니다.가장 많이 파생 된 클래스가 아닌 다른 클래스에 대해 생성자에서 표시 하는 가상 기본 클래스의 초기화가 무시 됩니다.
초기화 하는 기본 클래스의 기본 클래스에는 일반적으로 제한 된 것 이지만 클래스 생성자 간접 가상 기본 클래스를 초기화할 수 있습니다.