Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在工作面试中被问到一个问题:
“结构和类有什么区别?”
我简单地回答:
“结构的成员只能是公共的,而类的成员可以声明为公共的或私有的。”
但现在我对我的答案有点困惑。我一直在网上寻找 strcut 和 class 之间的区别,但在任何地方都看不到这种区别。我对雇主的回答不正确吗?
如果是的话,除了这个之外,struct 和 class 之间实际上有什么区别:
类的成员默认是私有的,而结构的成员默认是公有的。
在 C++ 中,最后一个语句是正确的,但不完整。默认情况下,类的成员对于类是私有的,对于结构是公共的。
缺少的是这同样适用于它们的基类:默认情况下,继承在类中是私有的,在结构中是公共的。结构和类在 C++ 中是等价的,您可以使用任一关键字表示完全相同的类型。
所以看起来你的答案不正确。