我们可以用类来写链表吗?不用结构

Can we write linked list using class?not using structure?

本文关键字:结构 链表 我们      更新时间:2023-10-16

我上个月去面试,面试官问了一个有趣的问题:我们可以使用不使用结构的类来编写链表吗?我说是的,我也写了类似下面的代码。谁能解释一下是对还是错?

class list {    
public:    
   int a;  
   class *list;
 };

您可以使用类和结构来编写数据结构,例如链表。像类和结构这样的术语在C++中意味着同样的事情。唯一不同的是默认可见性,它为类和结构public private。话虽如此,您的类格式不正确,它应该是:

class list {    
public:    
   int a;  
   list* l; // list* instead of class* here
};

使用关键字struct时,您可以省略public:说明符:

struct list {
   int a;  
   list* l;
};

请注意,标准C++库中已经有现成的容器。