如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情 况下,都会自动生成下面6个默认成员函数:
本篇文章则要讲的是构造函数
构造函数
定义
构造函数时一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。
作用
构造函数的名字虽然为构造,但是他的作用其实是初始化,并不能开空间创建对象。
用法
注意:如果通过无参构造函数创建对象时,对象后面不用跟括号,否则就成了函数声明
特点
- 函数名与类名相同
- 无返回值
- 对象实例化时编译器自动调用对应的构造函数
- 构造函数可以重载
- 如果类中没有显示的写构造函数,则当程序运行时编译器会自动生成一个无参的默认构造函数,如果写了就不会生成
- 无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。注意:无参 构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数,都可以认为是默认成员函数
- 在c++中把类型分为了内置类型(基本类型)和自定义类型(class/struct/union自己定义的类型),一般情况下编译器对内置类型不做处理,自定义类型会去调用它的默认构造函数