//p.cpp -- demo polymorphism #include using namespace std; class Shape { public: virtual // comment out this line and test again ? void draw( ) { cout << "aaa "; } }; // Shape class Line: public Shape { public: void draw( ) { cout << "LLL "; } }; struct Circle: public Shape { // struct{ === class { public: void draw( ) { cout << "ccc "; } }; int main( ) { Shape * p; p = new Shape( ); p->draw( ); p = new Line( ); p->draw( ); p = new Circle( ); p->draw( ); cout << endl; } /***** 11:05am ccbsd2:polymorphish/> g++ p.cpp 11:05am ccbsd2:polymorphish/> ./a.out aaa LLL ccc 11:05am ccbsd2:polymorphish/> 11:05am ccbsd2:polymorphish/> *****/