Learning  C++
Home
Tutorials
C++  Programs
Contact  us
Sitemap
// Program to illustrate dynamic_cast operator


#include<iostream.h>
class base
{
     public:
     virtual void func()
     {
               cout<<"\n class base::func()";
     }
};

class derived:public base
{

     public:
     void func()
     {
     cout<<"\n class derived::func()";
     }
};


void main()
{
     base bobj;
     base *bptr;
     derived dobj;
     derived *dptr;
     bptr=dynamic_cast <base *> (&dobj);
     if(bptr)
     {
          cout<<"\n Cast is from derived * to base *";
          bptr->func();
     }
     else
          cout<<"\n Invalid operation";
}


Test data

Cast is from derived * to base *
class derived::func()