在C语言中,子类是从已有的父类中派生出来的新类。子类继承了父类的所有属性和方法,并且可以增加自己的属性和方法。子类也可以被更进一步的继承,形成多层继承关系。
子类继承了父类的所有属性和方法,包括私有成员,但是子类不能访问私有成员。这样,子类就拥有了一个父类的所有特性,并且可以通过继承来避免重复编写代码。
在子类中,可以使用super关键字来调用父类的构造函数和方法。例如,在子类中重写父类的方法时,可以使用super来调用父类的方法,然后在此基础上添加自己的特性。
在C++中,子类可以访问父类中定义为protected或public的成员变量和成员函数。但父类中定义为private的变量和函数只能由父类内部访问,因此子类无法直接访问。但是,子类可以通过友元关系来访问父类的私有成员。
在实际编程中要注意控制友元关系的使用,避免破坏封装性和继承体系的完整性。
多态是一种面向对象编程的特性。在C++语言中,与之对应的是虚函数。虚函数是在父类中声明为virtual的成员函数,它可以被子类中同名的函数覆盖。
通过这个特性,实现了运行时动态绑定,即在程序运行时才进行函数调用。这样,就可以根据不同对象的类型来调用不同的方法,实现多态性。