在使用子对象对对象进行建模时,通常通过合成将子对象包括在内,作为父类的成员。但是有时候孩子需要告诉父母一些事情,他们需要调用父母的函数。使用C ++如何做到这一点?一些选项是:
使父类成为全局类,因此子对象将能够调用父对象的成员函数。
将父对象作为指针或引用注入到每个子对象中。然后,当子项需要告诉父对象某些内容时,它总是可以这样做,因为它具有可以使用的成员变量。
还有什么其他方法可以做到这一点?这种事情是否有通用的设计模式或名称?
请注意,我对C ++中的想法和解决方案感兴趣,因为在其他面向对象的语言中,细节将有所不同。例如,上面的第2点提到了“指针或引用”,并且两者都只能在C ++中使用。C ++具有其他语言没有的语言功能,因此解决该问题的方法的实现可能会合并这些语言功能,从而使该解决方案与某人使用另一种语言可能提出的解决方案有所不同。
delegate
就足够了?