// process_mix_of_items.cpp : Defines the entry point for the console application.
//
#include <string>
#include <iostream>
//#include "holdCommandWindow.h"
class Personal_details {
public:
virtual void showdata(int i) {}
};
class Phone_extension : Personal_details {
public:
unsigned int areaCode;
unsigned long sevenDigitNumber;
Phone_extension(unsigned int aCode, unsigned long sDNumber) {
areaCode = aCode;
sevenDigitNumber = sDNumber;
}
void showdata(int i){
std::cout << "Element index number " << i << " is a Phone extension (" << areaCode << ") " << sevenDigitNumber << "\n";
}
};
class Age : Personal_details {
public:
unsigned int ageYears;
Age(unsigned int aYears) {
ageYears = aYears;
}
void showdata(int i){
std::cout << "Element index number " << i << " is a Age " << ageYears << "\n";
}
};
class House_number : Personal_details {
public:
unsigned long houseNumber;
House_number(unsigned long hNumber) {
houseNumber = hNumber;
}
void showdata(int i){
std::cout << "Element index number " << i << " is a House number " << houseNumber << "\n";
}
};
/*
void showData(void *data[], int nData)
{
std::cout << "\n";
for ( int i=0; i < nData; ++i ) {
id_kind id = *(reinterpret_cast<const id_kind*>(data[i]));
std::cout << "Element index number " << i << " is a ";
switch ( id ) {
case id_phone_extension:
const phone_extension *pPhone;
pPhone = reinterpret_cast<const phone_extension*>(data[i]);
std::cout << "Phone extension (" << pPhone->areaCode << ") " << pPhone->sevenDigitNumber << "\n";
break;
case id_age:
const age *pAge;
pAge = reinterpret_cast<const age*>(data[i]);
std::cout << "Age " << pAge->ageYears << "\n";
break;
case id_house_number:
const house_number *pHouse;
pHouse = reinterpret_cast<const house_number*>(data[i]);
std::cout << "House number " << pHouse->houseNumber << "\n";
break;
}
}
}
*/
int main()
{
int i;
Phone_extension pe = new Phone_extension(313, 4567892);
Personal_details pd;
pd = &pe;
// pd[1] = new Phone_extension(800, 3334455);
//pd[2] = new Age( 39);
// pd[3] = new Age(21);
// pd[4] = new Age(44842);
// for(i=0;i<5;i++)
// {
pd->showData(1);
// }
// return holdCommandWindow();
}