2010-07-05 3 views
3

어떤 클래스가 있다고 가정하면 C이고이 클래스를 상속 받아이 클래스 이름을 D으로 지정합니다. 난 항상이 예에서와 같이 C의 기본 생성자를 호출해야합니까 : 만 기본 생성자가C++에서 기본 클래스 생성자가 항상 필요합니까?

class C { 
    public: 
     C() { ... } 
}; 

class D { 
    public: 
     D() : C() { ... } 
}; 

C있다. D에서 전화해야합니까? 나는 이것을 어떻게 발견하는지 알 수 없었다.

감사합니다. Boda Cydo.

답변

10

파생 형식 생성자의 이니셜 라이저 목록에 기본 클래스 생성자를 지정할 필요가 없습니다. 이것이 생략되면 매개 변수없이 기본 생성자를 호출하려고 시도합니다. 매개 변수없는 기본 생성자가 없으면 컴파일 오류가 발생합니다.

+0

답변 해 주셔서 감사합니다. – bodacydo

관련 문제