정수 또는 문자열을 인수로 취할 수있는 getName 메서드가 있어야하는 기본 클래스 A가 있다고 가정 해 보겠습니다. 그래서 내가 만들 :C++에서 여러 인수 형식을 사용하는 가상 메서드
virtual string getName(int index) = 0;
virtual string getName(string key) = 0;
는 지금, 나는 두 개의 서로 다른 서브 클래스의 B를 만들려면 및 C. B 만 getName(int index)
필요로하고 C 만 getName(string key)
이 필요합니다. 그러나 두 하위 클래스에서 두 메서드를 모두 덮어 쓰지 않으면 오류가 발생합니다. 하지만 내가 이렇게하면 B와 C는 다른 경우가 필요 없기 때문에 빈 방법을 사용하게 될 것입니다. getName
이 문제를 어떻게 극복 할 수 있습니까? 단순히으로
대신 이름을 붙여 넣기의 템플릿을 사용하여 비토리오 로미오의 솔루션과 동일 템플릿 getName에 int 또는 string 매개 변수를 지원하는지 여부를 알 수 있습니까? – marcinj
@AlexandreTHOUVENIN 의심 스럽지만 정의가 'int'와'string' 유형 모두에서 동일하지 않아야합니다. – George
'A'의 사용 예제를 추가 할 수 있습니까? 같은 기본 클래스에서 두 getName 과부하가 필요한 이유는 무엇입니까? –