lrtaylor@xxxxxxxxxx wrote:
you asked for an array of Bs, if you're not treating it as an array of
Bs it's not gonna work.
Why not? If B is derived from A, there should be nothing wrong with
storing pointers to B in an array of A pointers. Although, it seems
that A and B would need to have virtual destructors. I didn't read the
earlier part of the thread, so I don't know if that is the case here...
You are correct wrt an array of POINTERS to object (hence
my original suggestion to use just such an array). The question
was about an array of OBJECTS.
...you're lying to the compiler, and then kludging around the issue.
So, if B is derived from A and I do
A* a = new B;
am I lying to the compiler? That's what inheritance and polymorphism is
all about!
correct, but this is not what was being discussed.
the code was
A *ary = new B[10];
which is significantly different.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
nathan@xxxxxxxxxxxxxxxx :: http://www.planetfall.pwp.blueyonder.co.uk