Thanks Blaazen,
That does indeed work, but I was trying to do it with dynamic allocation. If I use objects instead of classes, I don't have to worry about freeing them, as they are deallocated when they go out of scope, like strings. This was inspired by a library I came across called 'dynmatrix' that does this.
It seems to work quite well, but I bumped into this behavior that does not make sense to me. Apparently the child has issues referring to the parent array when called from within it's own method. This does not happen when the parent TMatrix uses a TMatrix in it's own methods.
I may end up using classes as you suggest, or just use a lot of array functions, but using objects seems more convenient.
Cheers,
Frederick