不同的类中有大量重复的代码和实现,为了优化引入继承和派生。
继承和派生,本质是相同的,只是从不同的角度来描述。
父亲“派生”出儿子, 儿子“继承”自父亲。
除了“构造函数”和“析构函数”,父类的所有成员函数,以及数据成员,都会被子类继承!
继承方式是有多种:先以公有继承为例
这时,从父类继承的description()方法不适用于子类,需要子类自己写一个description()方法,此方法(子类的方法)中不能访问从父类中继承来的私有数据成员(可以访问自己的私有数据成员),
但可以访问从父类中继承来的公有功能函数。
子类对象调用方法时,先在自己定义的方法中去寻找,如果有,就调用自己的方法。如果找不到,就到父类的方法中去找,如果有,就调用父类的这个同名方法。若都找不到,就发生错误了。
子类对象的内存分布
重新生成即可观察内存分布:
protected访问权限
继承方式:
什么时候使用继承和派生
子类对父类的成员的访问权限
子类的构造函数
运行结果:
重测:
运行结果:
子类的析构函数
以上为例:在类中写上析构函数
运行:
标签:派生,继承,子类,访问,父类,方法 From: https://www.cnblogs.com/ylww/p/16715258.html