首页 > 代码库 > 构造函数和析构函数能不能被继承

构造函数和析构函数能不能被继承

1、构造函数和析构函数不能被继承。构造函数和析构函数是用来处理对象的创建和析构的,它们只知道对在它们的特殊层次的对象做什么。所以,在整个层次中的所有的构造函数和析构函数都必须被调用而不能被继承。
2、子类的构造函数会显示的调用父类的构造函数或隐式的调用父类的默认的构造函数进行父类部分的初始化。
3、析构函数也一样。它们都是每个类都有的东西,如果能被继承,那就没有办法初始化了。

不能重载析构函数,只能声明为虚函数,为了多态发生时能够完全析构
只有构造函数才能重载,用于多种方式构造对象

如果通过基类指针动态构造公有派生类对象,再通过基类指针来动态释放该对象就会发生这个问题,原因和过程很多教科书上都有,此时,基类的析构函数就要定义为virtual 型的了

重载:重载,简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。
 

构造函数和析构函数能不能被继承