我经历别人的代码和整个以下语法来:有人可以解释这个C++语法吗?
typedef struct abc {
abc() : member(0){}
unsigned int member
}
好像有成员变量和构造函数的类,但它声明结构。我在这里有两个问题。
- C语言是否支持该语法?
- 什么是使用结构类的理由?
非常感谢。
PS:如何格式化代码?
我经历别人的代码和整个以下语法来:有人可以解释这个C++语法吗?
typedef struct abc {
abc() : member(0){}
unsigned int member
}
好像有成员变量和构造函数的类,但它声明结构。我在这里有两个问题。
非常感谢。
PS:如何格式化代码?
这不是有效C.
在C++中,struct
和class
基本上是同义词。唯一的区别是默认情况下struct
和private
默认情况下成员和继承public
默认为class
。
关于是否选择struct
或class
没有硬性指导。但是,您经常会发现仅使用struct
的人可以用于简单的类似C的普通旧数据结构(“POD”)。
继承也是如此。 – ildjarn 2011-06-05 17:07:03
我经常在构建函子时使用struct。 – 2011-06-05 17:44:18
在C++中,struct和class本质上是一样的,除了一个struct成员默认是公共的。所以就像你会上课一样阅读。
这绝对只是C++。 struct
和class
在C++中是相同的,除了默认为public而不是私有的继承和类内容。
abc()
是abc
类的构造函数,member
是一个内部变量,构造abc
默认设置member
为0
member
初始化为0
,不做任何其他操作。struct
的默认访问权限为public
。
我通过缩进4个空格格式化了代码。您可以突出显示代码,然后按编辑栏上方的“{}”图标。您需要在代码前后留下空行。编号列表类似。 – 2011-06-05 17:06:47
另请参阅http://stackoverflow.com/questions/2750270/c-c-struct-vs-class – Cubbi 2011-06-05 17:07:14