Hi, I was playing around a bit with dynamic_cast<>, having read a bit more in Stroustrup, who says: 'dynamic_cast<T*>(p) looks at the object pointed to by p (if any). If that object is of class T or has a unique base class of type T, then dynamic_cast returns a pointer of type T* to that object; otherwise, 0 is returned.' This seems like very intuitive, useful, and meaningful behavior, and shouldn't be too hard to implement either, since you've already got dynamic type information running around. However, if in ROOT I do: class Base { int foo; }; class Derived { int bar; }; Derived *x = new Derived; Base *y = dynamic_cast<Base *>(x); // This works, as it should; TObject *z = dynamic_cast<TObject *>(x); // This gives non-zero, // as it shouldn't! George Heintzelman gah@bnl.gov
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:39 MET