Wenn nun aber ObjectA und ObjectC miteinander kommunizieren sollen (also ObjectA ruft Memberfunktionen von ObjectC auf) muss ich ja für jede Meberfunktion in ObjectB eine 'Durchreichfunktion' schreiben.
Wenn A direkt mit C kommunizieren soll, sollte A vielleicht C kennen.
Dafür könntest du in B einen Getter schreiben oder aus B heraus eine Funktion von A mit Argument C aufrufen.
Wenn du in geben willst/kannst/darfst, wäre etwas Kontext nicht schlecht: Was sind A, B und C für Objekte?