#ifndef PERSON_H
#define PERSON_H

#include "String.h"
#include "Date8a.h"

class Person {

private:
  String name;
  String first;
  Date birth;

public:
  // constructor
  Person(const String& n, const String& fn, int y, int m, int d)
    : name(n), first(fn), birth(y, m, d)
  {}

  // destructor
  ~Person(void) {}

  // access functions
  const String& lastName(void) const {return name;}
  const String& firstName(void) const {return first;}
  const Date& birthday(void) const {return birth;}

  // comparison operators
  bool operator<=(const Person& rhs) const {
    return ((lastName() < rhs.lastName()) ||
            ((lastName() == rhs.lastName()) &&
             (firstName() <= rhs.firstName())));
  }
};


#endif /* PERSON_H */