请问一下,下面代码第五行的语法是什么意思呢?
struct ListNode {
public:
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
请问一下,下面代码第五行的语法是什么意思呢?
struct ListNode {
public:
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
C++的结构体和C的结构体略有不同:C++结构体对C结构体做了扩充,可以有成员函数。因此,C++结构体更像是类,只是其所有成员默认都是public,这点与类正好相反。
代码中第5行是构造函数,“:”后面是构造函数的参数列表,用于对成员变量初始化。
这是C++,C++中类定义可以用struct或者class,区别是struct成员默认为public,class默认为private。
ListNode(int x) : val(x), next(NULL) {}
是C++的构造函数,val(x), next(NULL)表示初始化。
1 回答816 阅读
560 阅读
这是 C++,不是 C。