If I have created the following Employee object (simplified)...
public class Employee
{
public Employee()
{
An object can indeed have a reference to an object of its own type.
This is how most Node
type objects are implemented.
As for instantiation - you can pass in the Employee
object to use as manager (passing in null for no manager). Constructors can have multiple overloads:
public Employee(Employee manager)
{
this.Manager = manager;
}