<二>掌握构造函数和析构函数
构造函数
和类名相同,可以带参数,参数可以有多个
定义对象时,自动调用,构造完成了,对象就产生了
构造函数执行完成后,内存开辟完成,同时可以完成初始化工作.
析构函数
~Test();
析构函数可以自己调用,不带参数,只有一个析构函数,析构函数调用后,对象不存在了.自己调了析构函数后,就不能在调用对象的方法了.不建议自己调用析构函数
示例代码1:
class student{
private:
int age;
char NAME[20];
};
student s1
int main(){
student s2;
student *ps3=new student();
}
上面的代码 s2数据位置在栈上, ps3指向对象在堆上, s1在数据区 .data
s2在栈上,main 函数执行完成后,会自动调用析构函数, 而ps3在堆上,必须自己手动的 delete ps3,
delete ps3实际上包含两个动作,第1个是调用这个对象的的析构函数,第2个是释放内存即 free(ps3);
s1是全局变量,在.data 区,程序结束后才自动析构
.data 段的对象在程序启动的时候构造,程序结束是析构
Heap的对象new的时候构造,delete的时候析构
Stack 对象,在定义的时候构造,出了函数析构
上一篇:[C++]
栏 目:C++
下一篇:<三>对象的浅拷贝和深拷贝问题
本文标题:<二>掌握构造函数和析构函数
本文地址:https://www.xiuzhanwang.com/a1/c++/17091.html
您可能感兴趣的文章
阅读排行
本栏相关
- 04-02qt用法小结2021_11_19
- 04-02Visual Studio C++ 默认 UTF-8 编码及 *.edi
- 04-02<五>关于类的各类成
- 04-02【C++】extern "C"详
- 04-02<六>指向类成员的指
- 04-02<三>对象的浅拷贝和
- 04-02<四>构造函数初始化
- 04-02[C++]
- 04-02<二>掌握构造函数和
- 04-02SLAM十四讲CH8代码
随机阅读
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10delphi制作wav文件的方法
- 01-11ajax实现页面的局部加载
- 01-10SublimeText编译C开发环境设置
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 04-02jquery与jsp,用jquery
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10C#中split用法实例总结