1

我在工作面试中被问到一个问题:

“结构有什么区别?”

我简单地回答:

结构的成员只能是公共的,而的成员可以声明为公共的或私有的。”

但现在我对我的答案有点困惑。我一直在网上寻找 strcut 和 class 之间的区别,但在任何地方都看不到这种区别。我对雇主的回答不正确吗?

如果是的话,除了这个之外,struct 和 class 之间实际上有什么区别:

类的成员默认是私有的,而结构的成员默认是公有的。

4

1 回答 1

2

在 C++ 中,最后一个语句是正确的,但不完整。默认情况下,类的成员对于类是私有的,对于结构是公共的。

缺少的是这同样适用于它们的基类:默认情况下,继承在类中是私有的,在结构中是公共的。结构和类在 C++ 中是等价的,您可以使用任一关键字表示完全相同的类型。

所以看起来你的答案不正确。

于 2013-07-26T04:58:37.243 回答