자식으로 개체를 모델링 할 때 부모 클래스의 구성원으로 컴포지션을 통해 자식을 포함하는 것이 일반적입니다. 그러나 때때로 아이들은 부모에게 무언가를 말해야하고 부모의 기능을 호출해야합니다. C ++를 사용하여 어떻게이 작업을 수행 할 수 있습니까? 일부 옵션은 다음과 같습니다.
부모 클래스를 전역 클래스로 만들면 자식 개체가 부모 개체의 멤버 함수를 호출 할 수 있습니다.
부모 객체를 모든 자식 객체에 포인터, 참조로 삽입하십시오. 그런 다음 자식이 부모 개체에 무언가를 말해야 할 때 사용할 수있는 멤버 변수가 있기 때문에 항상 그렇게 할 수 있습니다.
이 작업을 수행하는 다른 방법은 무엇입니까? 이런 종류의 디자인에 대한 일반적인 디자인 패턴이나 이름이 있습니까?
세부 사항이 다른 객체 지향 언어와 다를 수 있기 때문에 C ++의 아이디어와 솔루션에 관심이 있습니다. 예를 들어 위의 포인트 2는 '포인터 또는 참조'를 언급하고 C ++에서만 가능합니다. C ++에는 다른 언어에는없는 언어 기능이 있으므로 문제에 대한 솔루션을 구현하면 이러한 언어 기능을 통합하여 다른 언어에서 다른 언어로 솔루션을 만들 수 있습니다.
delegate
으로 충분합니까?