#ifndef PERSON_LIBRARY_HEADER_INCLUDED
#define PERSON_LIBRARY_HEADER_INCLUDED

#include <iostream>

class Person
{

// private data
    char * name;
    long SSN;
    double height;

public:

// constructors, et. al.
    Person(void);
    Person(const char Name[], long sSN, double Height);
    Person(const Person & p);
    ~Person(void);
    Person & operator=(const Person & p);

// I/O
    void input(std::istream & in = std::cin);
    void output(std::ostream & out = std::cout) const;

// accessors
    void get_name(char Name[], long len = 0) const;
    long get_SSN(void) const;
    double get_height(void) const;

// mutators
    void set_name(const char Name[], long len = 0);
    void set_SSN(long sSN);
    void set_height(double Height);

// utilities
    bool valid(void) const;     // true if we areN'T default constructed
};

#endif
