构造函数和析构函数

1.构造函数,即没有返回值也不用写void,直接就是类名。构造函数可以有参数,所以可以发生重载,程序在调用对象的时候会自动调用构造函数,不用手动调用且只会调用一次

2.析构函数,它和构造函数有一个共同的特点就是都没有返回值也不用写void,析构函数没有参数所以也必不可能发生重载,析构函数的函数名也是类名,但是要在类名前加上一个~符号,程序在对象销毁的时候会自动调用析构函数,不用手动调用且只会调用一次

3.构造函数和析构函数都是必须有的实现,如果我们不自己提供编译器也会自己提供,若我们写得有那么编译器优先使用我们所写的函数。

4.下面演示一下

在我们调用了对象后,构造函数便自动调用了,又因为我们创建的类的对象是在函数中,所以为局部变量(毋庸置疑),在栈区使用完后便会销毁,当对象销毁时析构函数又会被调用。

5.构造函数有两种分类方式:有参构造和无参构造

按类型分为普通构造和拷贝构造,除了拷贝构造外就全是普通构造

无参构造函数的调用: Myclass myclass; 注意不要加(),否则会被认为是函数的声明

下图是有参函数的调用 Mycalss myclass(10);

拷贝函数的调用,注意拷贝函数的书写,因为是拷贝了一个对象的属性进去,所以这个被拷贝的对象在拷贝后不能进行改变,所以用const,引用的话也方便

相关推荐
wangan0944 分钟前
不带圆圈的二叉树
java·前端·javascript
ku_code_ku8 分钟前
python bert_score使用本地模型的方法
开发语言·python·bert
小马哥编程13 分钟前
【软考架构】滑动窗口限流算法的原理是什么?
java·开发语言·架构
云栖梦泽21 分钟前
鸿蒙数据持久化实战:构建本地存储与云同步系统
开发语言·鸿蒙系统
wjs202427 分钟前
《Ionic 侧栏菜单》
开发语言
祁思妙想28 分钟前
linux常用命令
开发语言·python
饕餮争锋31 分钟前
Spring AOP原理简析
java·spring
okseekw40 分钟前
Maven从入门到实战:核心概念+配置详解+避坑指南
java·后端
tryxr44 分钟前
ReentrantLock 与 synchronized 的区别
java··reentrantlock
IMPYLH1 小时前
Lua 的 IO (输入/输出)模块
开发语言·笔记·后端·lua