On 9/7/07, Brad Ryder
Hi Michael,
Thanks for the response. Your solution will indeed work, but the side effect is that spB and spC only have access to methods available in the base class. Imagine that B & C have unique methods that I want to access in main like.
main() {
A base; shPtrB spB(new B()); shPtrC spC(new C());
spB.PrintBrad(); // unique to B spC.PrintMichael(); // unique to C
// this will fail obviously, but how else can I get access to unique methods in B & C base.AddChild(spB); base.AddChild(spC); }
Thanks for your help
Try to remember not to top-post. Generally you should not need to know if the instances are indeed A, B, or C. If you did, why would you be storing them in a container of base class pointers? If you find you really need to perform the cast, look at boost::static_pointer_cast. --Michael Fawcett