构造函数
作用:
给类对象的成员变量初始化
特点:
- 函数名与类名相同;
- 无返回值;
- 构造函数是类中的成员函数;
- 如果一个类中没有显示定义构造函数,则编译器提供一个默认的构造函数,默认构造函数无参,函数体也为空;
- 如果定义了构造函数,则编译器将不会提供默认的,只会使用自定义的构造函数;
- 构造函数无需用户主动调用,在创建对象时系统会自动调用且只会调用一次;
- 构造函数可以重载;
- 构造函数可以通过函数体赋值方式初始化,也可以通过初始化列表方式初始化;
- 构造函数如果定义成非公有(限制构造函数),该类无法实例化对象;
- 构造函数没有this指针,因为调用构造函数时才在创建对象,对象还未创建成功,就不会有对象的地址。
构造参数的分类:
按类型分:普通构造函数和拷贝构造函数
按参数分:有参构造函数和无参构造函数
调用方法:
什么时候调用构造函数?
当用类创建对象时,系统会自动调用类中的构造函数去初始化对象的成员变量,而且只会调用一次。