남자. 내가 좋아하는 몇 가지 사례를 참조하십시오파생 클래스 초기화의 기본 클래스에 대해서
class Derived:public Base{
public:
Derived(...):Base(...){}
}
어떤 상황인가, 아니면 우리가 명시 적으로 파생 ctor에 초기화 목록에서 자료를 초기화해야한다는 어떤 원리가? 감사합니다
남자. 내가 좋아하는 몇 가지 사례를 참조하십시오파생 클래스 초기화의 기본 클래스에 대해서
class Derived:public Base{
public:
Derived(...):Base(...){}
}
어떤 상황인가, 아니면 우리가 명시 적으로 파생 ctor에 초기화 목록에서 자료를 초기화해야한다는 어떤 원리가? 감사합니다
파생 생성자의 인수를 기본 생성자에 전달해야하는 경우 사용할 수 있습니다.
class foo
{
public:
foo() {}
foo(int num) {}
};
class bar : public foo
{
public:
bar(int barNum): foo(barNum) {}
};
기본 클래스 (기본적으로 진입 점)에 여러 생성자가있는 경우 그래서 이들 중 하나를 호출 할 수 있습니다.
기본 클래스를 자세히 초기화하지 않으면 기본 생성자가 호출됩니다.
좋은 코딩 표준은 항상 생성자의 초기화 목록에서 기본 클래스를 초기화하는 것이 좋습니다.
기본 클래스의 생성자에 인수가 필요한 경우 수행해야합니다.
요약하면, 인수를 사용하여 호출 기본 ctor를 지정하고 특정 ctor를 지정하는 것은 초기화 목록에 표시하기위한 기본 사용법입니다. – ssb