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

我不明白他为什么在节点结构中调用节点并让它接受两个参数(代码中包含在“**”中的部分)。它看起来像一个构造函数或其他东西。我用谷歌搜索或阅读过的链表上的每个示例都没有那一点代码!

但是,你们能给我的任何帮助将不胜感激!

4

1 回答 1

1

该示例是 C++ 代码。C ++中的类是结构概念的扩展,实际上,类和结构之间的唯一区别在于,结构中的所有成员默认情况下都是公共的,而类中默认情况下它们是私有的。这是由于 C++ 的历史起源是“C With Classes”——只需将 struct 替换为 class,添加“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 回答