을에 조건을 적용 :C++ 나는 다음과 같은 추상 기본 클래스 X를 정의하고 적용하고자하는 상속 클래스
가) X에서 상속 모든 콘크리트 클래스 Y 생성자 Y (INT의 X를 정의)
b) 두 개의 Y 객체가 동일한 지 여부를 테스트 할 수 있어야합니다.
에 대한 좋은 해결책 중 하나는 구체적인 클래스가 정의해야 할 X 에 순수 가상의 fromInt 메소드를 넣는 것입니다. 그러나 나는 건설을 강요 할 수 없다.
B에 대한), 나는 재정의 수업이 정의되지 않은 남아 있기 때문에 X
bool operator == (const X& other) const =0;
에 순수 가상 방법을 사용할 수없는 것. 이 유형이 일치하지 않기 때문에
bool operator == (const Y& other) const { //stuff}
를 정의하는 것만으로는 충분하지 않습니다. 이러한 문제를 어떻게 해결할 수 있습니까?
왜 파생 형 생성자가 어떤 모양인지 신경 써야합니까? 또는 그들이 평등 함수를 정의하는지 여부? 어딘가에 (어딘가에 어떤 템플리트를 사용하고 있다면) 그 시점에서 컴파일이 실패합니다. 당신이 그 (것)들을 그 후에 사용하지 않는 경우에 그런 필요 조건 없습니다. 당신이 생성자를 polymorphicaly 나'operator =='정말로 사용할 수 없다는 것에주의하십시오. (가상 연산자 '='는 당신이 원하는 것을 거의하지 않을 것입니다) –