【C++】类和对象--constructor和destructor

news/2024/5/19 1:30:12 标签: 构造函数, c, 析构函数

Constructor:人称构造函数,用来初始化class,在class内部或外部都可以定义,在实例化class的时候会被调用。

Constructor的写法一般会有:

1. 默认的构造函数,也就是实例化的时候不带任何变量就能调用的构造函数;(这种情况有可能是构造函数就没给默认值,也可能是给了固定的默认值)

2. 重载构造函数,在有或者没有默认构造函数的基础上,带有相关变量,用来初始化class。

如果有重载构造函数,在实例化的时候,会根据实例化带的参数,来选取调用的是哪个构造函数

新建一个class时候,上面这两种构造函数必须得带有一种。

上面的程序运行结果为:

要注意:1. 默认构造函数和重载构造函数必须要有一个;要是使用重载构造函数,那么必须要带初始化的参数;class被初始化后,由于它的属性被定义为private,那么这些属性的值不能再被修改。

初始化列表的必要性:在数据成员是const时候,用构造函数是不能直接给成员赋值的,这时候只能用初始化列表来给成员赋值!

拷贝构造函数

Student stu1;

Student stu2=stu1;

Student stu3(stu1);

后两种情况,实例化的时候,调用的构造函数就是拷贝构造函数,而不会调用类的构造函数

通常我们不会在程序中写拷贝构造函数,那么系统会自动生成一个默认拷贝函数。

 

析构函数

1. 自己不定义的话,系统会自动生成默认析构函数

2. 在对象销毁时,会自动调用。

2. 在类中使用new申请堆内存的情况下,必须写析构函数,用delete来销毁申请的内存,否则会造成内存泄漏。

 


http://www.niftyadmin.cn/n/1426397.html

相关文章

飞舞

找寻了好久的歌今天终于在网易云上找到了 《飞舞》 唱:王冰洋 歌词展示 这首歌还是一次在外出的时候在大巴车上司机放的,这是一首和老的歌曲了,但是很经典,我个人比较喜欢 http://music.163.com/#/m/song?id301474&useri…

PPT大赛品牌活动认证成功

哈哈哈哈哈 今天很高兴 我们社团的品牌活动终于在今天认证成功了 河南理工大学ppt大赛已经举办四年了 到今天总算是有一个名分了

【C++】公有/私有/保护特性

将数据限定为不同性质的访问时候,数据的访问权限不同: 公有访问限定:在类的内外部都可以被调用 私有/保护访问限定:只能在类的内部被调用,在类外部不能被调用 继承的话也有这三种方式: 公有继承&#xf…

tp5的连表查询和台3.2.3的连表查询的区别

有两张表: sc_article(文章表) sc_cate(栏目表) 文章表的cateid(栏目的id) 对应sc_cate(栏目表中的id) tp3.2.3: $artcie D(Artcile); $article->alias(a)->join(sc_cate c ON a.cateid c.id)->fi…

【C++】多态 - 虚函数/虚析构函数以及虚函数表

什么是多态: 指不同对象收到相同消息时或相同对象收到不同消息时产生不同的动作。 这里先说下为什么会用到虚函数: 以下面的程序为例: 这个程序中,Carp是Fish的继承类,而Carp中覆盖了Swim这个方法,在Mak…

截至目前投递的公司

1.第一个投递的公司-腾讯-简历筛选通过-笔试已经完成-等待面试通知2.第二个投递的公司-京东-被刷-秋招再战3.第三个投递的公司-360-网申时间已过-秋招再战4.第四个投递的公司-搜狐-简历筛选未通过(学历是硬伤,搜狐只要985,211高校学生,秋招不…

心情杂记-4-19

我们不可能每一件事情都会做的很好,不可能总是成功,总有失败的时候,人只有遇到失败才会发现自己与别人的差距,进而才能进步,这几天一直不在状态,肯定是被校招实习生给搞的了,投过腾讯笔试已经结…

从春招到秋招,一个本科生的求职之路

作者:西瓜橙子雨链接: https://www.nowcoder.com/discuss/18270?type2&order0&pos2&page12来源:牛客网自报家门,北理工软件学院本科生。 主要部分:1、毕业去向选择2、春招过程3、暑期实习4、秋招辛酸路程…