// Program Name: Friend_5LaX2a.exe // Author: Tyler Travis, Eruption Software // www.travis-usa.com // Date: 2/19/00 //This program creates two Classes and uses a Friend Function, //and displays both Class's data. #include #include #define NAME_TOTAL 25 class Cities; // a forward reference class Customers { private: int cust_num; int zip_code; char name[NAME_TOTAL]; public: Customers(); //constructor void get_Cust_info(); //prototype to assign values void show_cust_info(); friend void friend_display(Customers Cust, Cities City); static char exit(); }; class Cities { private: char city_name[NAME_TOTAL]; char state[NAME_TOTAL]; int zip; public: Cities(); //constructor void get_city_info(void); void show_city_info(void); friend void friend_display(Customers Cust, Cities City); }; void main() { char answer; int Custs = 1, x = 0, Addrs = 1; cout<<""<>Custs; cin.get(); Customers *ptr2Custclass = new Customers[Custs]; Customers *CustTmp = ptr2Custclass; ptr2Custclass->show_cust_info(); for(x = 0; x < Custs; ++x) { ptr2Custclass->get_Cust_info(); //keyboard input ptr2Custclass++; } cout<<" How many Addresses are there?: "; cin>>Addrs; cin.get(); Cities *ptr2Cityclass = new Cities[Addrs]; Cities *AddrTmp = ptr2Cityclass; ptr2Cityclass->show_city_info(); for(x = 0; x < Addrs; ++x) { ptr2Cityclass->get_city_info(); //keyboard input ptr2Cityclass++; } ptr2Custclass = CustTmp; ptr2Cityclass = AddrTmp; for(x = 0; x < Custs; ++x) { ptr2Custclass->show_cust_info(); // shows the input info ptr2Custclass++; } for(x = 0; x < Addrs; ++x) { ptr2Cityclass->show_city_info(); //keyboard input ptr2Cityclass++; } ptr2Custclass = CustTmp; ptr2Cityclass = AddrTmp; for(int i = 0; i < Custs; ++i) { for(int x = 0; x < Addrs; ++x) { friend_display(*ptr2Custclass, *ptr2Cityclass); ptr2Cityclass++; } ptr2Cityclass = AddrTmp; ptr2Custclass++; } delete []CustTmp; delete []AddrTmp; answer = Customers::exit(); } while (answer == 'y' || answer == 'Y'); } Customers::Customers(void) //constructor { cout<>cust_num; cout<<" Enter the Customer's Zip Code: "; cin>>zip_code; cin.get(); cout<>state; cout<<" Enter the City's Zip Code: "; cin>>zip; cin.get(); cout<>ans; cin.get(); return(ans); }