c语言三种继承方式