c#里的结构为什么不能有默认构造函数?
2013-07-05
展开全部
由于结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值来实现默认构造函数。
结构是值类型。那么如果从结构创建一个对象并将该对象赋给某个变量,则该变量包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识;无法区分具有相同数据的两个值类型实例。
结构是值类型。那么如果从结构创建一个对象并将该对象赋给某个变量,则该变量包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识;无法区分具有相同数据的两个值类型实例。
2013-07-05
展开全部
你的程序中有四个构造函数,加冒号主要是先调用冒号后的相应的构造函数(可以看给出的参数判断),在把得到的值转到冒号前面的构造函数中执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-05
展开全部
结构必须要在实例化前对其内的成员变量进行初始化..
所以不能由默认构造函数。
所以不能由默认构造函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-05
展开全部
数组也应该有构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询