免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8546 | 回复: 99
打印 上一主题 下一主题

[函数] 构造函数? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-27 01:26 |只看该作者 |倒序浏览
我是刚开始学C.不太明白,为什么"CLASS"里一定要有"构造函数"和"析构函数"?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-12-27 08:51 |只看该作者

构造函数?

^_^,那是C++。

一种语法规定,用来创建对象和销毁对象。

论坛徽章:
0
3 [报告]
发表于 2004-12-27 16:15 |只看该作者

构造函数?

如果不写构造函数,程序会出错吗?运行时会怎么样啊?我还是不太明白!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-12-27 16:23 |只看该作者

构造函数?

基本没有什么大问题。

论坛徽章:
0
5 [报告]
发表于 2004-12-27 16:36 |只看该作者

构造函数?

[quote]原帖由 "dream-girl"]如果不写构造函数,程序会出错吗?运行时会怎么样啊?我还是不太明白! [/quote 发表:

如果你不写构造函数,系统会给你自动添加一个缺省的构造函数。这个构造函数的行为不一定是你需要的,所以还是勤快点,自己写一个空构造函数也行。

论坛徽章:
0
6 [报告]
发表于 2004-12-27 16:43 |只看该作者

构造函数?

原帖由 "kj501" 发表:

如果你不写构造函数,系统会给你自动添加一个缺省的构造函数。这个构造函数的行为不一定是你需要的,所以还是勤快点,自己写一个空构造函数也行。


我不这么认为,构造函数和析构函数只是语义上的东西,实际上没有必要的话编译器根本不给你生成.

论坛徽章:
0
7 [报告]
发表于 2004-12-27 16:43 |只看该作者

构造函数?

原帖由 "kj501" 发表:

如果你不写构造函数,系统会给你自动添加一个缺省的构造函数。这个构造函数的行为不一定是你需要的,所以还是勤快点,自己写一个空构造函数也行。


我不这么认为,构造函数和析构函数只是语义上的东西,实际上没有必要的话编译器根本不给你生成.

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
8 [报告]
发表于 2004-12-27 16:45 |只看该作者

构造函数?

原帖由 "kj501" 发表:

如果你不写构造函数,系统会给你自动添加一个缺省的构造函数。这个构造函数的行为不一定是你需要的,所以还是勤快点,自己写一个空构造函数也行。

不对。

  1. class aa
  2. {
  3.     int b;
  4.     int c;
  5. }
复制代码

这样的类就不需要构造函数,编译器也不会给你添加。

建议楼主先不要在这个问题上专那么深,等你学完了C++基本语法以后,有了一些感性的认识后,在去专研是否一定需要构造函数这样的问题。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-12-27 16:46 |只看该作者

构造函数?

^_^,没有构造函数,你的对象是怎么构造的啊?总得要生出来吧。

论坛徽章:
0
10 [报告]
发表于 2004-12-27 16:46 |只看该作者

构造函数?

[quote]原帖由 "dream-girl"]如果不写构造函数,程序会出错吗?运行时会怎么样啊?我还是不太明白! [/quote 发表:


不一定会出错,运行时也一样.
用或者不用根据你的需要而定.
如果没有必要不要显示的定义构造函数,因为反而会造成二义性.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP