클래스에 A 클래스의 멤버가 있는데, 생성자는 여러 매개 변수를 사용합니다. Im 클래스 내 생성자의 매개 변수를 클래스 A의 생성자에 전달합니다. 그러나이 매개 변수가 중요하므로 A의 멤버를 확인하기 전에 해당 매개 변수를 확인해야합니다. 그리고 문제를 heres : 멤버 초기화 목록을 생성하여 효과적으로 기본 생성자를 호출합니다. 생성자의 검사가 끝나면 A의 생성자를 호출하여 부수적으로 호출 할 수 있습니다. 그러나 A의 소멸자는 비공개이므로 오류가 발생합니다.초기화 목록 전에 검사를 실행하십시오.
어떻게 해결할 수 있습니까?
MyClass::MyClass(int someParam) : otherMember(2){
//checks for someParam
member = A(someParam); // <- produces error
}
클래스 A의 작성자와 이야기하고 잘못된 매개 변수 값이 발생할 경우 A 클래스의 생성자를 현명하게 작동하도록 그녀를 강요합니다. –
'A'를 구성한 다음 사실을 확인해도됩니까? – Cameron
실제로 Java에서 허용 할 수 있도록 Sun을 설득하려고했지만 거부했습니다. 하나의 생성자를 다른 생성자로 호출 할 수 있기 때문에 Java에서 속임수를 사용하는 것이 약간 쉽습니다. – Neil