我正在浏览其他人的代码并遇到以下语法:
typedef struct abc {
abc() : member(0){}
unsigned int member
}
它似乎是一个带有成员变量和构造函数的类,除了它被声明为struct。我在这里有两个问题。
提前多多感谢。
PS:我如何格式化代码?
答案 0 :(得分:8)
这是无效的C.
在C ++中,struct
和class
本质上是同义词。唯一的区别是默认情况下public
中的成员和继承为struct
,private
默认为class
。
关于是否选择struct
或class
,没有严格的指导原则。但是,您经常会发现人们仅使用struct
来处理简单的类似C的普通旧数据结构(“POD”)。
答案 1 :(得分:3)
这绝对是C ++。 struct
和class
在C ++中是相同的,除了为继承和类内容默认为public而不是private。
答案 2 :(得分:0)
在C ++中,struct和class本质上是相同的,除了对于struct成员默认是公共的。所以,就像你上课一样阅读它。
答案 3 :(得分:0)
abc()
是类abc
的构造函数,member
是内部变量,构造函数abc
默认将member
设置为0。
答案 4 :(得分:0)
member
初始化为0
,不执行任何其他操作。struct
的默认访问权限为public
。