비슷한 동작이지만 반환 값이 다른 두 클래스가있는 경우이를 구현하는 가장 좋은 방법은 무엇입니까? 예를 들어메소드의 동작이 비슷한 두 클래스를 구현하는 방법
:
class A{
int method1(int a, int b){ ... do something...}
}
class B{
float method1(int a, int b){ ... do the same stuff as in class A...}
}
나는 세 번째 클래스 C의 모든 중요한 코드를 구현 그것에서 상속에 따라 클래스 A의 래퍼와 B를 작성하는 것입니다에 대해 생각할 수있는 유일한 것은 그들의 반환 값.
더 좋은 방법이 있습니까? A의 방법 항목을 공개해야
class A {
public:
int method1(int a, int b) {
return a + b; // your implementation here
}
};
참고 : 다음과 같이
자유 함수 함수 템플릿? – Niall
이 예와 관련이 없지만 실제로는 일반적이지 않은 조언을하는 것은 어려울 것입니다. 이것을 여러 목적으로 사용할 계획이라면, 그것들 모두에 적합한 솔루션을 얻기 위해 좀 더 많은 컨텍스트를 제공하는 것이 좋습니다. – chris
"세 번째 클래스 C의 모든 중요한 코드를 상속 받고"[mixin] (https://en.wikipedia.org/wiki/Mixin)이라고도합니다. – dhke