// // NAME // person.h // // DESCRIPTION // This file contains the type definitions and function prototypes // exported by the Person module. // #ifndef _person_h_ #define _person_h_ // // Include files. // #include// // Constants. // const int firstNameLen = 20; // Maximum length of first name. const int lastNameLen = 20; // Maximum length of last name. // // NAME // person // // DESCRIPTION // This class models a person. // // DATA MEMBERS // firstName (private) - person's first name. // lastName (private) - person's last name. // age (private) - person's age. // // FUNCTION MEMBERS // // person() // Default constructor. // Parameters: (none) // Returns: (none) // // person(const person& p) // Copy constructor. // Parameters: p (in) - source person. // Returns: (none) // // operator= // Assignment operator. // Parameters: p (in) - source person. // Retruns: reference to destination person. // // FRIENDS // operator<< - the output operator. // operator>> - the input operator. // class person { public: person(); person(const person& p); const person& operator=(const person& p); friend ostream& operator<<(ostream& os, const person& p); friend istream& operator>>(istream& is, person& p); private: char firstName[firstNameLen]; char lastName[lastNameLen]; int age; }; #endif