构造函数和析构函数
Posted mch5201314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数和析构函数相关的知识,希望对你有一定的参考价值。
C++为什么要有构造函数和析构函数?
传送门:https://blog.csdn.net/u013565071/article/details/78267440
先说一下生活中的场景,大家买的各种电子设备,是不是有个叫出厂设置,就是根据需要给这些设备初始化,进行一些设置
比如时间你得是你那个地方的吧,是美国就不合理了。
同时,当这些设备你不用的时候,你可以买个别人,但是不可能就直接给别人了,你里面可能有些东西,你不想让别人知道
你就必须把你设备里的数据清理掉,不然就像那个香港修电脑哪个^_^
那么c++对象的初始化和清理是两个很重要的安全问题
对象未初始化,你用的时候结果是未知的
同时用完不清理,也会造成安全问题,比如内存泄露什么的
c++中提供了构造函数和析构函数来解决上述两个问题
构造函格式 类名()
没有返回类型,void也不需要
可以由参数,可以重载
析构函数格式 ~类名()
没有返回类型,void也不需要
不可以有参数,不可以发生重载
这两个函数,都是由系统自动调用,不需要认为调用。而且你可以不写,编译器会帮你写,但是里面的实现是空实现
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 class stu 5 6 public: 7 stu() 8 9 puts("stu构造函数调用"); 10 11 ~stu() 12 13 puts("stu析构函数调用"); 14 15 int s_age; 16 ; 17 18 void test() 19 20 stu s; 21 22 23 int main() 24 25 test(); 26 return 0; 27
以上是关于构造函数和析构函数的主要内容,如果未能解决你的问题,请参考以下文章