构造函数的定义
当定义一个构造函数时,它的格式如下:
ClassName(parameters) : member1(initializer), member2(initializer), ... {
// 构造函数的主体
}
其中:
ClassName
是结构体或类的名称,表示构造函数所属的结构体或类。parameters
是构造函数的参数列表,可以包含零个或多个参数。member1(initializer), member2(initializer), ...
是初始化列表,用于对成员变量进行初始化。每个成员变量的初始化形式为member(initializer)
,其中member
是成员变量的名称,initializer
是用于初始化成员变量的值或表达式。
构造函数的主体是在 {}
内部定义的,用于执行其他初始化操作或执行其他逻辑。
下面是一个具体的例子,以 ListNode
结构体的构造函数为例:
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {
// 构造函数的主体,可以执行其他操作
}
};
在这个例子中,ListNode
结构体的构造函数接受一个整数参数 x
。初始化列表 val(x), next(nullptr)
将参数 x
赋值给成员变量 val
,并将成员变量 next
初始化为 nullptr
。
构造函数的主体可以为空,也可以包含其他逻辑操作,例如对其他成员变量的初始化或执行其他操作。