析构函数与构造函数对应,当对象结束其生命周期,如对象所在的函数已调用完毕时,系统会自动执行析构函数。
析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,例如~stud( ),以区别于构造函数。它不能带任何参数,也没有返回值(包括void类型)。只能有一个析构函数,不能重载。
如果用户没有编写析构函数,编译系统会自动生成一个缺省的析构函数(即使自定义了析构函数,编译器也总是会为我们合成一个析构函数,并且如果自定义了析构函数,编译器在执行时会先调用自定义的析构函数再调用合成的析构函数),它也不进行任何操作。所以许多简单的类中没有用显式的析构函数。
如果一个类中有指针,且在使用的过程中动态的申请了内存,那么最好显示构造析构函数在销毁类之前,释放掉申请的内存空间,避免内存泄漏。
类析构顺序:1)派生类本身的析构函数;2)对象成员析构函数;3)基类析构函数。
本文向大家介绍请你来说一下fork函数?相关面试题,主要包含被问及请你来说一下fork函数?时的应答技巧和注意事项,需要的朋友参考一下 Fork:创建一个和当前进程映像一样的进程可以通过fork( )系统调用: #include <sys/types.h> #include <unistd.h> pid_t fork(void); 成功调用fork( )会创建一个新的进程,它几乎与调用fork(
本文向大家介绍请你来说一下C++/C的内存分配 ?相关面试题,主要包含被问及请你来说一下C++/C的内存分配 ?时的应答技巧和注意事项,需要的朋友参考一下 参考回答:
本文向大家介绍请你来说一下C++中struct和class的区别?相关面试题,主要包含被问及请你来说一下C++中struct和class的区别?时的应答技巧和注意事项,需要的朋友参考一下 在C++中,可以用struct和class定义类,都可以继承。区别在于:structural的默认继承权限和默认访问权限是public,而class的默认继承权限和默认访问权限是private。 另外,class
本文向大家介绍请你来说一下静态函数和虚函数的区别?相关面试题,主要包含被问及请你来说一下静态函数和虚函数的区别?时的应答技巧和注意事项,需要的朋友参考一下 静态函数在编译的时候就已经确定运行时机,虚函数在运行的时候动态绑定。虚函数因为用了虚函数表机制,调用的时候会增加一次内存开销
本文向大家介绍请你来说一下awk的使用相关面试题,主要包含被问及请你来说一下awk的使用时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)作用: 样式扫描和处理语言。它允许创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。 2)用法: awk [-F field-separator] 'commands' input-file(s
本文向大家介绍请你来说一下C++中类成员的访问权限?相关面试题,主要包含被问及请你来说一下C++中类成员的访问权限?时的应答技巧和注意事项,需要的朋友参考一下 C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。在类的内部(定义类的代码内部),无论成员被声明为 public、prot