using System; class Client{ BankAccount ba1, ba2, ba3, ba4, ba5, ba6, ba7; public static void Main(){ (new Client()).Go(); } public Client(){ ba1 = new BankAccount("Per", 100); ba2 = new BankAccount("Poul", 200); ba3 = new BankAccount("Pia", 300); ba4 = new BankAccount("Mette", 400); ba5 = new BankAccount("Rasmus", 500, ba1, ba2); ba6 = new BankAccount("Lotte", 600, ba3, ba4); ba7 = new BankAccount("Kurt", 700, ba5, ba6); // The constructions above derive this pyramid tree structure: // ba7 // ba5 // ba1 // ba2 // ba6 // ba3 // ba4 } public void Go(){ WriteAccounts("Initial situation"); ba7.Deposit(1000); WriteAccounts("After depositing 1000 kr."); ba7.Withdraw(1000); WriteAccounts("After withdrawing 1000 kr."); ba7.DistributeEven(); WriteAccounts("After distributing even"); } public void WriteAccounts(string situation){ Console.WriteLine(situation); Console.WriteLine(ba1); Console.WriteLine(ba2); Console.WriteLine(ba3); Console.WriteLine(ba4); Console.WriteLine(ba5); Console.WriteLine(ba6); Console.WriteLine(ba7); Console.WriteLine(); } }