#include using namespace std; class data_type { public: virtual void print(void) = NULL; private: }; class int_type : public data_type { public: void print(void); int_type(int=0); private: int data; }; class float_type : public data_type { public: void print(void); float_type(float=0.0); private: float data; }; int_type::int_type(int i) { data = i; } float_type::float_type(float f) { data = f; } void int_type::print(void) { cout << "integer type = " << data << endl; } void float_type::print(void) { cout << "float type = " << data << endl; } void main (void) { data_type* A[5]; int_type* i; float_type* f; i = new int_type(7); A[0] = i; f = new float_type(2.2f); A[1] = f; i = new int_type(98); A[2] = i; i = new int_type(25); A[3] = i; f = new float_type(3.14f); A[4] = f; for (int k=0; k < 5; k++) A[k]->print(); }