change the privilege of `new` and `delete` of class `ICase` to `protected`. the inheritance class of `ICase` can visit the `new` and `delete`.
- fix a travis-ci build error