C ++中的结构和类

时间:2011-09-08 03:52:40

标签: c++ class naming struct

在c ++中,如果你创建一个这样的结构或类

struct foo {

}

你必须使用struct或class限定符来创建另一个,就像在c中一样,如果没有,为什么呢?什么时候适合在C ++中使用它

示例

struct foo a;

谢谢: - )

4 个答案:

答案 0 :(得分:3)

不,在C ++中实例化时不需要struct关键字。顺便说一下,struct定义应以;

结尾

答案 1 :(得分:3)

struct不是必需的。在C ++中,structclass之间的唯一区别在于struct,默认情况下成员为public,而class中的成员为private默认情况下重新{{1}}。

答案 2 :(得分:2)

你可以,但你不必。最好不要这样,如果你不打算将你的代码与纯C混合,那么它就是正确的C ++风格。原因是C ++的设计者认为C的标签概念不必要地复杂化。我倾向于同意。

答案 3 :(得分:1)

在C中,您可以使用typedef来避免它。在C ++中,类型是自动创建的,因此无需显式声明它。

C语法使其相似:

typedef struct {
....
} foo;

然后您可以通过说foo x;

来使用它