- 对象的初始化
在建立一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。如果一个数据成员未被赋值,则它的值是不可预知的,因为在系统为它分配内存时,保留了这些存储单元的原状,这就成为了这些数据成员的初始值。这种状况显然是与人们的要求不相符的,对象是一个实体,它反映了客观事物的属性(例如时钟的时、分、秒的值),是应该有确定的值的。
注意: 类的数据成员是不能在声明类时初始化的。 - 构造函数的作用
为了解决这个问题,C++提供了构造函数(constructor)来处理对象的初始化。构造函数是一种特殊的成员函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。构造函数的名字必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。它不具有任何类型,不返回任何值。构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数。 - 构造函数有以下特点:
1)构造函数是类的一个成员函数,但有其特殊性;
2)构造函数的函数名与类名相同,它不能有返回值,即使是void也不行。
3)构造函数可以有参数,也可以没有参数,换句话说,构造函数可以重载;
4)程序一般不直接调用构造函数,在创建对象时会自动调用构造函数,以完成对象的初始化工作。
说明:
(1) 在类对象进入其作用域时调用构造函数。
(2) 构造函数没有返回值,因此也不需要在定义构造函数时声明类型,这是它和一般函数的一个重要的不同之点。
(3) 构造函数不需用户调用,也不能被
C++构造函数
最新推荐文章于 2024-02-21 21:08:16 发布