我们可以使用类编写链表吗?不使用结构? [复制]
Posted
技术标签:
【中文标题】我们可以使用类编写链表吗?不使用结构? [复制]【英文标题】:Can we write linked list using class?not using structure? [duplicate] 【发布时间】:2018-07-07 23:47:07 【问题描述】:我上个月去面试,面试官问了一个有趣的问题:我们可以使用类而不使用结构来编写链表吗? 我说是的,我还写了类似下面的代码。谁能解释一下是对是错?
class list
public:
int a;
class *list;
;
【问题讨论】:
struct
和class
没有太大区别。仅默认可见性。
class
和 struct
之间的唯一区别是,默认访问级别在类中是 private
,在结构中是 public
。
struct 和 class 的区别仅在于默认访问说明符。我也会回答“是的,我们可以,但我们不应该在没有充分理由的情况下重新发明***”
您可以使用并行数组,虽然丑陋但可以。我不会接受使用类的答案,类和结构之间没有本质区别。
确实有人建议过,但是是你点击了“yes”并关闭了这个问题。你有买家的悔恨吗?
【参考方案1】:
您可以使用类和结构来编写数据结构,例如链表。 class 和 struct 等术语在 C++ 中表示 same thing。唯一不同的是默认可见性,对于类是private
,对于结构是public
。话虽如此,您的班级格式不正确,应该是:
class list
public:
int a;
list* l; // list* instead of class* here
;
使用关键字struct
时,您可以省略public:
说明符:
struct list
int a;
list* l;
;
请注意,标准 C++ 库中已经有现成的containers。
【讨论】:
以上是关于我们可以使用类编写链表吗?不使用结构? [复制]的主要内容,如果未能解决你的问题,请参考以下文章