NOTE:
1.接口继承和实现继承不同。在public继承之下,derived classes总是继承base class的接口。
2.pure virtual 函数只具体指定接口继承及缺省实现继承。
3.impure virtual 函数具体指定接口继承及缺省实现继承。
4.non-virtual 函数具体指定接口继承及强制实现继承。