Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <boost/shared_ptr.hpp>
- #include <iostream>
- class Base {
- };
- typedef boost::shared_ptr<Base> BasePtr;
- class DerivedA: public Base {
- };
- typedef boost::shared_ptr<DerivedA> DerivedAPtr;
- class DerivedB: public Base {
- };
- typedef boost::shared_ptr<DerivedB> DerivedBPtr;
- int main() {
- BasePtr ptr = BasePtr(new DerivedA);
- if (typeid(ptr.get()) == typeid(DerivedA *)) {
- std::cout << "DerivedA";
- } else if (typeid(ptr.get()) == typeid(Base *)) {
- std::cout << "Base";
- } else if (typeid(ptr.get()) == typeid(DerivedB *)) {
- std::cout << "DerivedB";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement