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;
             }**
         };

彼が node 構造体内で node を呼び出し、2 つのパラメーター ('**' 内に含まれるコードの部分) を取る理由がわかりません。コンストラクタか何かのように見えます。私がグーグルで調べたり読んだりしたリンクリストのすべての例には、そこに少しのコードがありません!

しかし、皆さんが私に与えることができるどんな助けも大歓迎です!

4

1 に答える 1

1

その例は C++ コードです。C++ のクラスは構造体の概念の拡張です。実際、クラスと構造体の唯一の違いは、構造体ではすべてのメンバーがデフォルトでパブリックであるのに対し、クラスではデフォルトでプライベートであるということです。これは、C++ が "C With Classes" として歴史的に始まったことによるものです。構造体をクラスに置き換え、"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;
         }
     };
于 2012-08-29T00:02:12.707 に答える