A solution of the Life problem. C++, inheritance, virtual methods, dynamic binding, etc.