请讲一讲析构函数和虚函数的用法和作用。

来源:百度知道 编辑:UC知道 时间:2024/06/29 21:20:28

析构就是对象离开生存空间时执行的,用来清理分配的空间之类.
虚函数的作用:假如有类A.类A派生出类B.
那么如果写A* p = new B;时.就得到了一个指向类B的指针,这个指针的类型是A*
如果类A和类B中都有void Out()这么个函数.p->Out()将调用A::Out()函数
而如果把类A中的改成虚函数virtual void Out().p->Out()就将调用B::Out()函数.
就是这样

下面抄几段:
析构函数是“反向”的构造函数。它们在对象被撤消(回收)时调用。析构函数的名 称除了最前面的“~”符号外,与类的名称相同。例如,类String的析构函数是~string()。 析构函数通常用于当一个对象不再需要时,完成“消除”功能。
在函数中建立对象之后,这个对象作为局部对象开始生存,直到函数运行到遇见右括号“}”才结束生存,此时调用析构函数。
对象的释放发生在以下几种情况,首发自学编程网:
·使用运算符new分配的对象被delete删除。
·一个具有块作用域的本地(自动)对象超出其作用域。
·临时对象的生存期结束。
·程序结束运行。
·使用完全限定名显示调用对象的析构函数。
有几条规则约束着析构函数的说明:
·不能接受参量。
· 不能说明有任何返回类型(包括void)。
·不能用return语句返回值。
· 不能说明为const、volatile或static,但析构函数可以因说明为const、volatile或static的对象的析构而被调用。
·可以说明为虚拟的。使用虚析构函数,可以撤消对象而不必知道该对象的类型。由于使用虚拟函数机制,程序将调用该对象的正确的析构函数。
注意:在一个抽象类中,析构函数可以说明为虚函数。我们会在后面详细介绍虚函数的概念。

虚函数去这看吧
析构函数和虚函数的用法和作用 析构函数和虚函数的用法及作用! puts()函数和gets()函数的用法是什么? enum函数的用法和意义 函数 reshape 的用法 malloc函数的用法 left函数的用法 函数countif的用法 memset函数的用法? contif 函数的用法