析构函数和构造函数

fbnic 2003-04-15 11:50:27
初学c++,不知道这两者有什么内在本质?
仅仅知道一个用来赋初值,一个用来释放资源。怎么使用抑或怎么讲才能清晰的讲出他们的特点。constructor and destrucor ?
...全文
44 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shishiXP 2003-05-09
  • 打赏
  • 举报
回复
析构函数是对象消灭时运行的

构造函数是创建对象时运行的

没什么高深的特点啊?

加分!!!!!!!!!!!!!!!
yahaha 2003-05-09
  • 打赏
  • 举报
回复
构造函数是初始化一个对象,有了它你的对象将更安全。他可以动态给你分配内存,你在使用一些类将感到很方便,而且安全。析构函数和构造函数是相反的。他是在对象释放时安全的释放分配的内存。但是好多时候都不用考虑这个函数,编译器帮你做了好多。构造函数和析构函数是面向对象的语言的主要部分。
lijdking 2003-05-09
  • 打赏
  • 举报
回复
忘了说一下
以上是转载的
lijdking 2003-05-09
  • 打赏
  • 举报
回复
构造函数并没有动态分配内存,所以不管对对象的构造能不能成功,你都不必担心内存泄露,编译器帮你做了所有的工作 :)
若在构造函数中有动态内存的分配,通过new,你也应该在析构函数中用delete将内存释放;但若在构造函数中发生了异常(在new语句后),如果没有异常处理函数,构造函数将退出,由于对象没有被完全构造,对象的析构函数将不被调用,也就是delete语句没有被执行,发生内存泄露;此时要使用smart pointer(智能指针)
messagebox 2003-04-17
  • 打赏
  • 举报
回复
constructor对对象的初始化,比如分配内存,给成员变量赋初值
destructor释放资源, 典型的是释放成员指针变量指向的动态分配的内存
littlechang 2003-04-15
  • 打赏
  • 举报
回复
他们都不能有返回值,void 也不行。
littlechang 2003-04-15
  • 打赏
  • 举报
回复
构造函数,是对像生成时自动调用的函数。
析构函数,是在对像的生存期结束时,系统自动调用的函数。

他们都是自动调用的,你只要给出相应的函数即可,其他等使用的多了自然也就理解了
chon81 2003-04-15
  • 打赏
  • 举报
回复
构造函数,是对像生成时自动调用的函数。
析构函数,是在对像的生存期结束时,系统自动调用的函数。
智慧zhuhuix 2003-04-15
  • 打赏
  • 举报
回复
作为比喻:
在c中你用malloc来分配内存,再用free来释放
而构造和析构也就是这个意思
yyfzy 2003-04-15
  • 打赏
  • 举报
回复
构造函数用来初始化,析构函数用来释放资源

我也就知道这么多了,呵呵

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧