1、构造函数定义
在C++中,构造函数是一种特殊的成员函数,它在创建一个类的对象时自动被调用。构造函数的主要目的是初始化类对象的成员变量,为对象分配资源,以及执行任何其他必要的初始化任务。
构造函数具有以下特点:
- 构造函数的名称与类名相同。
- 构造函数没有返回类型,即使是void也不能有。
- 构造函数可以被重载,即可以有多个构造函数,只要它们的参数列表不同即可。
- 如果一个类没有显式定义构造函数,编译器会自动生成一个默认的无参构造函数,这个构造函数没有执行任何操作。
- 一个类可以有多个构造函数,为重载关系。
构造函数分类:
- 按参数种类分为:无参构造函数、有参构造函数、有默认参构造函数
- 按类型分为:普通构造函数、拷贝构造函数(赋值构造函数)
2、举例
本次举例中,构造了3种构造函数,即构造函数重载。其中一个无构造参数、含全部成员变量的构造函数、含部分成员变量的构造函数。这三种均正确,其中第一个无结构参数构造函数,相当于对进行了初始化。
利用构造函数,定义了3个对象t1、t2、t3,其中每个对象的初始化参数方法各不相同,但均正确。
运行结果如下,其中t1结果为0:0:0,这是因为Time()构造函数对三个参数进行了初始化赋值,因此均为0。第二个对象t2,由于只传参了2个参数,第三个参数采用默认的,所以变为12:5:0。最后一个传参3个,因此均为12:5:20,没有默认初始赋值。
0:0:0
12:5:0
12:5:20