学过java的人都知道,java中的类是有构造方法的,同样的,c++中的类和结构体也具有构造函数.如下:
struct node{
int a,b;
node(int a=0,int b=0){
this->a=a;
this->b=b;
}
// node(int a,int b):a(a),b(b){
// };
};
在上述代码中,定义了一个node的结构体,里面有一个node的无返回值得函数,该函数即为该结构体的构造方法,其中,int a=0,int b=0的意思是如果用该结构体定义变量时没有给a,b复制,那么他们将被初始化为0.下面的部分this->a=a即如果初始化结构体时赋值,那么该结构体中的a将被初始化为用户给他的a,如node N(1,2);意思就是结构体N的a与b将被初始化为1和2.,代码下被注释掉的部分是上述构造函数的简写形式,有兴趣的读者可以参考参考。