如何准确区分C类产品与其它类别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1727个文字,预计阅读时间需要7分钟。
翻译自Manju Lata Yadav于2019年6月2日的文章《C语言中struct与class的区别》
翻译自 Manju lata Yadav 2019年6月2日 的博文 《Difference Between Struct And Class In C#》,补充了一些内容和示例。
结构体(struct)是类(class)的轻量级版本。结构体是值类型,可用于创建行为类似于内置类型的对象。
比较
结构体和类共享许多特性,但与类相比有以下局限性。
- 结构体不能有默认构造函数(无参构造函数)或析构函数,构造函数中必须给所有字段赋值。
public struct Coords { public double x; public double y; public Coords() //错误,不允许无参构造函数 { this.x = 3; this.y = 4; } public Coords(double x) //错误,构造函数中必须给所有字段赋值 { this.x = x; } public Coords(double x) //这个是正确的 { this.x = x; this.y = 4; } public Coords(double x, double y) //这个是正确的 { this.x = x; this.y = y; } }
- 结构体是值类型,在赋值时进行复制。
本文共计1727个文字,预计阅读时间需要7分钟。
翻译自Manju Lata Yadav于2019年6月2日的文章《C语言中struct与class的区别》
翻译自 Manju lata Yadav 2019年6月2日 的博文 《Difference Between Struct And Class In C#》,补充了一些内容和示例。
结构体(struct)是类(class)的轻量级版本。结构体是值类型,可用于创建行为类似于内置类型的对象。
比较
结构体和类共享许多特性,但与类相比有以下局限性。
- 结构体不能有默认构造函数(无参构造函数)或析构函数,构造函数中必须给所有字段赋值。
public struct Coords { public double x; public double y; public Coords() //错误,不允许无参构造函数 { this.x = 3; this.y = 4; } public Coords(double x) //错误,构造函数中必须给所有字段赋值 { this.x = x; } public Coords(double x) //这个是正确的 { this.x = x; this.y = 4; } public Coords(double x, double y) //这个是正确的 { this.x = x; this.y = y; } }
- 结构体是值类型,在赋值时进行复制。

