他们拿错题了,
这是C#的,正确答案只有B。
不过C#6开始结构好像也可以定义无参构造函数了,以前是不能定义,而且默认必然有一个。
A.struct的成员默认是public,class的成员默认是private;
B.struct不能继承,class可以继承
C.struct可以有无参构造函数
D.struct的成员变量只能是public
A:
结构成员可以具有 public、internal 或 private 已声明可访问性并默认为 private 已声明可访问性
——C#5规范3.5.1
B:
所有结构类型均从类 System.ValueType 隐式继承,后者又从类 object 继承。一个结构声明可以指定实现的接口列表,但是不能指定基类。
——C#5规范11.3.2
C:
与类不同,结构不允许声明无形参实例构造函数。
——C#5规范11.3.8
D:
结构成员可以具有 public、internal 或 private 已声明可访问性
——C#5规范3.5.1