// client.cpp : test della gerarchia // Point --> Circle --> Cylinder #include #include #include #include "Point.h" #include "Circle.h" #include "Cylinder.h" int main() { Point p(3,4); Cylinder cil_1( 5.7, 2.5, 20, 23 ); Circle cer_1(2.5, 12, 23); // uso del binding statico: associazione // oggetto<->messaggio a tempo di compilazione cout << "cil_1: "; cil_1.print(); cout << "\narea: " << cil_1.area() << endl; cout << "cer_1: "; cer_1.print(); cout << "\narea: " << cer_1.area() << endl << endl; list lista; lista.push_back(& cer_1); lista.push_back(& cil_1); lista.push_back(& p); list::const_iterator i; for (i=lista.begin(); i!=lista.end(); i++) { cout << "dati: "; (*i)->print(); //bind dinamico a run time cout << endl; } cout << "\n\n"; system("pause"); return 0; }