请问一下,下面代码第五行的语法是什么意思呢?
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 構造はクラスに似ていますが、そのすべてのメンバーがデフォルトでパブリックである点が異なります。これはクラスとはまったく逆です。
コードの 5 行目はコンストラクターで、その後に続く「:」はコンストラクターのパラメーター リストで、メンバー変数の初期化に使用されます。
PHP中文网2017-04-17 14:38:01
これは C で、5 行目はクラスのコンストラクターで、初期化リストを使用して初期化されます。 C の構造体とクラスは似ていますが (具体的な違いは自分で見つけてください)、C 言語の構造体に関数を定義することはできません。
怪我咯2017-04-17 14:38:01
これは C です。C のクラス定義は struct
または class
です。違いは、struct
メンバーのデフォルトが public
であることと、クラスのデフォルトが private
であることです。
は C のコンストラクターであり、val(x), next(NULL)
は初期化を表します。