C++多态中的构造函数与析构函数

来源:互联网 发布:淘宝女t恤店推荐 编辑:程序博客网 时间:2024/06/11 20:44

为什么不存在虚构造函数?

不存在virtual虚函数的构造函数,虚函数采用的是一种虚调用的方法,虚调用是一种可以只知道对象一部分信息的情况下的调用,而构造函数是生成一个对象,必须要初始化对象的所有信息,所以构造函数不能为虚函数。


为什么会存在虚析构函数?

关于虚析构函数:定义虚析构函数主要的用途是在多态的案例中,我们最好将所有的析构函数均声明为虚析构函数,那么我们在释放对象内存的时候,可以通过调用基类对象的虚析构函数来释放所有派生类对象的析构函数,从而避免内存泄漏。所有虚析构函数的设计主要是为了程序多态性的实现。

0 0