In c++:
class Contact (abstract class)
Private member data: a pointer to a Contact object (which can be an EmployeeContact or ContractorContact) called next - this