请问一下,下面代码第五行的语法是什么意思呢?
struct ListNode {
public:
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
迷茫2017-04-17 14:38:01
C++的結構體和C的結構體略有不同:C++結構體對C結構體做了擴充,可以有成員函式。因此,C++結構體更像是類,只是其所有成員預設都是public,這點與類別正好相反。
程式碼中第5行是建構函數,「:」後面是建構函數的參數列表,用來對成員變數初始化。
PHP中文网2017-04-17 14:38:01
這是C++,第五行是類別的建構函數,使用初始化列表進行初始化。 c++中struct和class差不多(具體區別自行查找),而c語言中的struct裡是不能定義函數的。
怪我咯2017-04-17 14:38:01
這是C++,C++中類別定義可以用struct
或class
,區別是struct
成員預設為public
,class預設為private
。
ListNode(int x) : val(x), next(NULL) {}
是C++的建構函數,val(x), next(NULL)
表示初始化。