请问一下,下面代码第五行的语法是什么意思呢?
struct ListNode { public: int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
これは C ではなく C です。
C 構造は C 構造とは少し異なります。C 構造は C 構造を拡張し、メンバー関数を持つことができます。したがって、C 構造はクラスに似ていますが、そのすべてのメンバーがデフォルトでパブリックである点が異なります。これはクラスとはまったく逆です。 コードの 5 行目はコンストラクターで、その後に続く「:」はコンストラクターのパラメーター リストで、メンバー変数の初期化に使用されます。
これは LeetCode で指定されたリンク リスト ノードではありませんか? 5行目はコンストラクターです。
構造体をクラスとして理解すれば明らかです
5 行目は C のコンストラクターです
これは C で、5 行目はクラスのコンストラクターで、初期化リストを使用して初期化されます。 C の構造体とクラスは似ていますが (具体的な違いは自分で見つけてください)、C 言語の構造体に関数を定義することはできません。
これは C です。C のクラス定義は struct または class です。違いは、struct メンバーのデフォルトが public であることと、クラスのデフォルトが private であることです。
struct
class
public
private
は C のコンストラクターであり、val(x), next(NULL) は初期化を表します。
val(x), next(NULL)
これは C ではなく C です。
C 構造は C 構造とは少し異なります。C 構造は C 構造を拡張し、メンバー関数を持つことができます。したがって、C 構造はクラスに似ていますが、そのすべてのメンバーがデフォルトでパブリックである点が異なります。これはクラスとはまったく逆です。
コードの 5 行目はコンストラクターで、その後に続く「:」はコンストラクターのパラメーター リストで、メンバー変数の初期化に使用されます。
これは LeetCode で指定されたリンク リスト ノードではありませんか? 5行目はコンストラクターです。
構造体をクラスとして理解すれば明らかです
5 行目は C のコンストラクターです
これは C で、5 行目はクラスのコンストラクターで、初期化リストを使用して初期化されます。 C の構造体とクラスは似ていますが (具体的な違いは自分で見つけてください)、C 言語の構造体に関数を定義することはできません。
これは C です。C のクラス定義は
リーリーstruct
またはclass
です。違いは、struct
メンバーのデフォルトがpublic
であることと、クラスのデフォルトがprivate
であることです。は C のコンストラクターであり、
val(x), next(NULL)
は初期化を表します。