用构造函数创建对象后,程序负责跟踪该对象,直到其过期为止。对象过期时,程序将自动调用一个特殊的成员函数——析构函数。
-
写法:
类名前加上~,如:~Stock()
-
何时调用:
① 如果创建的是静态存储类对象,则其析构函数将在程序结束时自动被调用;
② 如果创建的是自动存储类对象,则其析构函数将在程序执行完代码块时(该对象是在其中定义的)自动被调用;
③ 如果对象是通过new
创建的,则它将驻留在栈内存或自由存储区中,当使用delete
来释放内存时,其析构函数将自动被调用;
④ 最后,程序可以创建临时对象来完成特定的操作,在这种情况下,程序将在结束对该对象的使用时自动调用其析构函数。
由于在类对象过期时析构函数将自动被调用,因此必须有一个析构函数。如果程序员没有提供析构函数,编译器将隐式地声明一个默认析构函数。
评论区