Issues with polymorphism, I guess?

This is a discussion on Issues with polymorphism, I guess? within the C++ Programming forums, part of the General Programming Boards category; Alright, here is the idea.
A child of a parent node needs a combined matrix from the parent node.
A ...

Issues with polymorphism, I guess?

A child of a parent node needs a combined matrix from the parent node.

A child of a parent node, can also be a parent node.

A parent node, doesn't have anything before it, so it has to create the combined matrix

A child node needs a combined matrix from a parent node, to create a new combined matrix

PROBLEM: The overridden virtual update function needs to take a local matrix, which is combined with the parents combined matrix, to make a new combined matrix. Problem lies within the fact that we now need to send this combined matrix to the child, via the update function, I can't do that! :\.

A geometry node can be a parent to child nodes, and can also be a child node

Every geometry node has a Local translation

Every geometry node has a combined transformation

Every child geometry node creates a combined transformation node out of adding its own local transformation to the parents combined transformation.

The virtual update function is overridden in the geometry class, it now takes the local translation of that geometry class.

In virtual update function we have to create a new combined transformation matrix, but we need the parents transformation matrix before that... And we have to pass the new combined transformation to the next children

NOTE:

I'm thinking a simple pointer to the parent node will solve this problem.