2012-08-28 59 views
0

所以我們一直在學習CS類中的鏈表,我理解這個概念很好。然而,在看一個示例程序時,我的教授指定他提供的代碼與我們在課堂上顯示的代碼不同。有人可以解釋這個!?這是什麼結構構造? (鏈接列表)

下面是從示例代碼:

 struct itemType 
     { 
      string store_name, item_name; 
      int item_number, quantity; 
      float price; 
     } ; 

     struct node 
     { 
      itemType item; 
      node *next; // 
      **node (itemType it, node* n=NULL) 
      { 
       item=it; 
       next=n; 
      }** 
     }; 

我不明白爲什麼他所謂的節點結構中的節點,並把它帶兩個參數(在其中所包含的「**」代碼的一部分)。它看起來像一個構造函數或其他東西。我在Google上搜索或鏈接的鏈接列表上的每個示例都沒有那麼一點代碼!

但任何幫助,你們可以給我將不勝感激!

+1

這是一個構造函數。結構可以像類一樣擁有構造函數;他們的行爲完全一樣。 – templatetypedef

回答

1

這個例子是C++代碼。 C++中的類是struct概念的擴展,實際上關於類和結構之間的唯一區別在於,在結構中所有成員默認都是公共的,而在類中它們默認是私有的。這是由於C++作爲「C with Classes」的歷史開始 - 只需將類替換爲struct,添加「public:」,並且看起來更少外部:

struct itemType 
    { 
     string store_name, item_name; 
     int item_number, quantity; 
     float price; 
    } ; 

    class node 
    { 
    public: 
     itemType item; 
     node *next; 
     node (itemType it, node* n=NULL) // Constructor 
     { 
      item=it; 
      next=n; 
     } 
    }; 
相關問題