首页 > Windows开发 > 详细

C#心得与经验(一)

时间:2015-03-24 06:50:36      阅读:271      评论:0      收藏:0      [点我收藏+]

刚学了一点C#,感觉绝大部分和C++是一致的,上课听到C#类constructor有个小疑问,
C#是先执行默认constructor再去执行用户定义constructor,这和C++里面有点不同。可能是编译器问题,C++里如果用户定义了constructor()无参,则内建constructor不会执行。
技术分享
经过和童鞋讨论,貌似就是这样。抛开编译器原因,我来验证一下。使用VS和Code::Blocks。


显然,先初始化a=0, b=0,再由Test()改变a=1。和课上讲的一致。
 技术分享


同样的类,C++程序里b输出的就是temp,说明没有执行内建constructor,直接执行了我写的constructor。
 技术分享


把constructor去掉,默认constructor会把a, b都初始化为0。
 技术分享

Bingo,貌似是我想的这样(如果不是因为编译器不同的话)。这种小问题可能被忽略,不清楚却有潜在的bug。
我不得不说C#与C++有太多相似,它们不同的地方正是我们要留心的地方。

C#心得与经验(一)

原文:http://www.cnblogs.com/funcode/p/4361611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!