首页 > 解决方案 > 字段变量问题中使用的 C++ 继承和冒号语法

问题描述

对于下面的代码片段,该行中的冒号Node(int elt = 0,Node * p = NULL):data(elt),next(p){}究竟是做什么的?从我搜索的内容来看,使用的冒号似乎是继承语法,但在这种情况下,我假设Node(int elt = 0,Node * p = NULL)它是 Node 结构的构造函数,它是继承还是访问data(elt)字段变量?但是data是原始数据类型,为什么里面有一个参数“elt”呢?如果有人能解释这些概念,我将不胜感激。谢谢。

class List{
  public:
    void addAt(int pos, int elt);
    void delAll(int x);
  private:
    struct Node{
      int data;
      Node * next;
      Node(int elt = 0,Node * p = NULL):data(elt),next(p){}
  };
};

标签: c++

解决方案


推荐阅读