#include using namespace std; struct A { virtual void p() { cout << "A" << endl; } void q() { cout << "q" << endl; } }; struct Ba : public A { void p() { cout << "Ba" << endl; } }; struct Bb : public A { void p() { cout << "Bb" << endl; } }; int main(void) { A* x = new A; x = dynamic_cast(new Ba); cout << "-" << endl; x->q(); x->p(); }