検索

ホームページ  >  に質問  >  本文

c++ - c 语言 struct 声明格式

请问一下,下面代码第五行的语法是什么意思呢?

struct ListNode {
public:
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};
高洛峰高洛峰2807日前563

全員に返信(7)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:38:01

    これは C ではなく C です。

    返事
    0
  • 迷茫

    迷茫2017-04-17 14:38:01

    C 構造は C 構造とは少し異なります。C 構造は C 構造を拡張し、メンバー関数を持つことができます。したがって、C 構造はクラスに似ていますが、そのすべてのメンバーがデフォルトでパブリックである点が異なります。これはクラスとはまったく逆です。
    コードの 5 行目はコンストラクターで、その後に続く「:」はコンストラクターのパラメーター リストで、メンバー変数の初期化に使用されます。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 14:38:01

    これは LeetCode で指定されたリンク リスト ノードではありませんか? 5行目はコンストラクターです。

    返事
    0
  • 迷茫

    迷茫2017-04-17 14:38:01

    構造体をクラスとして理解すれば明らかです

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 14:38:01

    5 行目は C のコンストラクターです

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 14:38:01

    これは C で、5 行目はクラスのコンストラクターで、初期化リストを使用して初期化されます。 C の構造体とクラスは似ていますが (具体的な違いは自分で見つけてください)、C 言語の構造体に関数を定義することはできません。

    返事
    0
  • 怪我咯

    怪我咯2017-04-17 14:38:01

    これは C です。C のクラス定義は struct または class です。違いは、struct メンバーのデフォルトが public であることと、クラスのデフォルトが private であることです。

    リーリー

    は C のコンストラクターであり、val(x), next(NULL) は初期化を表します。

    返事
    0
  • キャンセル返事