|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 构造函数和析构函数怎么用
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1238
人关注过本帖
标题:
构造函数和析构函数怎么用
只看楼主
加入收藏
guowei3758
来 自:陕西咸阳
等 级:
论坛游民
帖 子:58
专家分:72
注 册:2010-4-9
结帖率:
55.56%
楼主
收藏
已结贴
√
问题点数:20 回复次数:9
构造函数和析构函数怎么用
新手求助,构造函数和析构函数怎么用?不太清楚啊。。。。。。。都是做什么的??
搜索更多相关主题的帖子:
函数
构造
2010-04-29 20:34
举报帖子
使用道具
赠送鲜花
rxyknight
该用户已被删除
第
2
楼
收藏
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2010-04-29 23:12
举报帖子
使用道具
赠送鲜花
wow51
等 级:
论坛游民
帖 子:16
专家分:27
注 册:2010-4-6
第
3
楼
收藏
得分:0
构造函数可以认为是特殊的成员函数,不能为其指定返回值类型,可以利用它对数据成员进行初始化!这个析构函数一个类只能有一个析构函数,也必定有一个析构函数用来释放构造函数(使用完以后)所占用的内存空间。
2010-04-29 23:27
举报帖子
使用道具
赠送鲜花
xueyuhanhai
等 级:
业余侠客
帖 子:90
专家分:238
注 册:2010-4-5
第
4
楼
收藏
得分:5
楼主要认真的看书了,一本c++基础其实前半本是重复c语言的知识,真正的只有类和对象是重点。
1构造函数:a.他和你所定义的类的类名一样,没有函数的类型;
b.他也是一个成员函数;
c.他的参数可以有多个可,也可以没有。
作用:是在创建一个对象时系统会自动调用的;一般是两种情况:1.初始化一个对象,2.给一个对象赋植(此时创建的一个无名对象)。
2.析构函数:a.他和你所定义的类的类名一样,没有函数的类型;
b.他也是一个成员函数;
c.他没有参数;
d.他的函数名前加上一个~;
作用:是对所创建的对象进行释放。
2010-04-30 18:30
举报帖子
使用道具
赠送鲜花
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
5
楼
收藏
得分:0
构造函数
就是c语言中的 经常看到的初始化函数,init();
只不过你在new 一个对象的时候 自动调用他, 省了那么一点点打字的力气
我就是真命天子,顺我者生,逆我者死!
2010-04-30 18:34
举报帖子
使用道具
赠送鲜花
guowei3758
来 自:陕西咸阳
等 级:
论坛游民
帖 子:58
专家分:72
注 册:2010-4-9
第
6
楼
收藏
得分:0
要初始化的是不是在类中定义的东西????比如:
在public中定义了两个成员函数void aa(int a,double b);void bb(int c,double d);
类名为asd
那么构造函数就应该是asd(int a,int c,double b,double d);
析构函数~asd();
括号中啥都不写,对吗?
[
本帖最后由 guowei3758 于 2010-4-30 19:24 编辑
]
2010-04-30 19:16
举报帖子
使用道具
赠送鲜花
最近不在
等 级:
蝙蝠侠
威 望:
5
帖 子:204
专家分:842
注 册:2010-2-28
第
7
楼
收藏
得分:5
在main中使用时
student obj; 这种通过不带参数的构造函数初始化(默认值)。
student obj1(10);这种通过带参数的构造函数初始化。
那么就需要在类型写上构造函数:
class Age:
{
public:
student();
//给m赋默认值
student(int n);
//将对象所带参数n传递(赋值)给私有成员m,也就是初始化
~student();
//程序结束时,开始释放对象,一般是成员函数动态内存分配了,用析构函数进行扫尾工作,释放分配的东西,跟new,delete,很像,有创建就有释放。
private:
int m;
}
2010-04-30 23:12
举报帖子
使用道具
赠送鲜花
南国利剑
等 级:
贵宾
威 望:
29
帖 子:1165
专家分:3536
注 册:2010-4-12
第
8
楼
收藏
得分:0
构造函数和析构函数都是系统自动调用的。
构造函数是在定义类的对象的时候,对对象进行初始化工作的。
而析构函数是在程序运行结束之前,对对象进行消亡处理,释放内存空间。
南国利剑
2010-05-01 08:38
举报帖子
使用道具
赠送鲜花
guowei3758
来 自:陕西咸阳
等 级:
论坛游民
帖 子:58
专家分:72
注 册:2010-4-9
第
9
楼
收藏
得分:0
就是说只要在main函数中出现asd dsa()
括号中有东西时就要用构造和析构???
如果括号中为空就不用写构造和析构???
2010-05-01 18:32
举报帖子
使用道具
赠送鲜花
apull
来 自:三体星系
等 级:
版主
威 望:
216
帖 子:1506
专家分:9241
注 册:2010-3-16
第
10
楼
收藏
得分:10
回复 9楼 guowei3758
所有的对象都有构造函数和析构函数,如果你没有定义这些函数,那么编译器会自动添加的。
括号中不带参数的称为默认构造函数。
构造函数没有返回类型,函数名跟类名相同,可以没有或有数个参数。
构造函数的主要作用是初始化类的状态。
析构函数的作用是清理对象。
2010-05-01 19:34
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
构造函数和析构函数怎么用
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029091 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved