一.构造函数
1.1构造函数的作用
构造函数的作用有3个:
- 创建对象
- 为对象初始化
- 类型转换
1.2构造函数的特点
-
1.函数名与类名相同。
-
2.构造函数无函数返回类型说明。注意是没有而不是void,即什么也不写,也不可写void!实际上构造函数有返回值,返回的就是构造函数所创建的对象
-
3.在程序运行时,当新的对象被建立,该对象所属的类的构造函数自动被调用,在该对象生存期中也只调用这一次。
-
4.构造函数和普通成员函数一样,可以重载。严格地讲,说明中可以有多个构造函数,它们由不同的参数列表区分,系统在自动调用时按一般函数重载的规则选一个执行。
-
5.构造函数和普通成员函数一样,可以在类中定义,也可以在类外定义。
-
6.如果类说明中没有给出构造函数,则C++编译器自动给出一个缺省的构造函数: 类名(void) {}。这个缺省的构造函数的功能只是为了创建对象,因为其函数体为空,所以只能创建对象,而不能为其初始化。但只要我们定义了一个构造函数,系统就不会自动生成缺省的构造函数。
只要构造函数是无参的或者只要各参数均有缺省值的,C++编译器都认为是缺省的构造函数,并且缺省的构造函数只能有一个 。
如果对象的数据成员全为公有的,也可以在对象名后加“=”