이 내 의심의 여지가 있습니다 : 나는 두 클래스 A를 가지고 B. 내가 쓸 수 있습니다 : 공개 객체를 상속하거나 사용하는 것이 가장 좋습니다.
class A: public B {....}
그래서 an_instance_of_A는 B 방법을 사용할 수 있습니다.
그러나 나는 또한 다음과 같이 작성할 수있다 :
class A {
public:
B instance_B;
}
그래서 an_instance_of_A는 instance_B 방법을 사용할 수 있습니다. (즉, B 방법).
나는 똑같이 할 수있다. 무엇이 가장 좋습니까? 컴파일하는 것이 빠른 무엇입니까? 똑같은가요? 감사합니다. .
다릅니다. 'A'와'B'는 무엇입니까? 'A'는'B'입니까? 왜 공개해야합니까? 편집 속도는 정확한 디자인만큼 중요하지 않으며 (극단적 인 상황을 제외하고) 좋은 디자인은 컴파일 시간이 오래 걸리는 경우는 거의 없습니다. –
문제는 방법을 사용하는 것이 아니라 문제에 가장 적합한 디자인을 선택하는 것입니다. 이것을 둘러싼 주제에 대한 책 더미가 있습니다. wikipedia에서 시작할 수 있습니다 : http://en.wikipedia.org/wiki/Composition_over_inheritance, http://en.wikipedia.org/wiki/Circle-ellipse_problem 그리고 거기에서 계속하십시오. – dbrank0
가능한 복제본 [상속보다 컴포지션?] (http://stackoverflow.com/questions/49002/prefer-composition-over-inheritance) –