class CTree をいままでとは異なる方法で実装してみた