先假设有一个结构体如下:
struct node {
int val;
struct node *left, *right;
}root;
我们想对root赋值,一般我们会使用 root.val = 2; root.left = root.right = NULL; 但是如果结构体的变量很多就会变得非常的麻烦,因此用构造函数就显得非常重要了。
struct node {
int val;
node* left, *right;
node(){} // 默认的构造函数, 不加的话root变量就需要从其他地方定义
// 下面函数也可以简化为一行 node(int num) : val(num), left(NULL), right(NULL) {}
node(int num) { // num定义为什么都可以,但是不能和val重复
val = num;
left = right = NULL;
}
}root;
root = node(2); //定义