// person.h   Example base class to illustrate inheritance
// P. Conrad for CISC220, 06J

#ifdef PERSON_H
#define PERSON_H

#include <iostream>

class Person_C 
{
 public:
  Person_C(const char * const theFname,
	   const char * const theLname,
	   int theId);

  const char * const getFname() const { return "test"; /* fname; */ };
  const char * const getLname() const { return "test"; /* lname; */ };
  int getId() const { return 0; /* id; */ };

  void print(std::ostream & out = std::cout) const;

  // big-3, because we have pointers to separate space on heap

  Person_C(const Person_C & orig);
  Person_C & operator =(const Person_C & right);
  ~Person_C();

 private:
  char * fname; // separate space on heap
  char * lname; // separate space on heap
  int id;

};

// the following illustrates that the parameters to a binary operator
// don't have to be called right and left

std::ostream & operator << (std::ostream & where, 
			    const Person_C & what)



#endif
