#include <iostream> using namespace std; class Base { public: Base(){} ~Base(){} virtual void func1() { cout<<"Base_ONE"<<endl; } }; class Derived : public Base { public: Derived(){} ~Derived(){} void func1() { cout<<"Base _TWO"<<endl; } }; int main() { /* Base a; Base *ba; Derived b; Derived *db; //ba=&b; ba=dynamic_cast<Base*>(&b); if(ba) cout<<"Conversion Success"<<endl; else cout<<"Conversion Fail"<<endl; ba->func1(); */ Base* b = new Derived; b->func1(); Base* bb; Derived d; bb=&d; bb->func1(); Base* bbb; Derived ddd; bbb=dynamic_cast<Base*>(&ddd); bbb->func1(); return 0; }
static_cast
Base* bbb; Derived ddd; bbb=&ddd; ddd->func1();
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)