社区
C语言
帖子详情
类没有构造函数,析构函数也可?
elevenj
2003-01-14 11:16:45
如题
...全文
65
8
打赏
收藏
类没有构造函数,析构函数也可?
如题
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rkwj
2003-01-14
打赏
举报
回复
当然有了,你不加会默认有的。
ajoo
2003-01-14
打赏
举报
回复
不写最好。缺省的就是二进制复制,象C的struct, 标准,没有歧义,没有副作用。对象复制几乎可以0开销。
不是必要的,最好不写。
littlechang
2003-01-14
打赏
举报
回复
系统会在内部生成一个,但你看不见,而且如上所说,它可能不是你想要的。
elevenj
2003-01-14
打赏
举报
回复
对不起,问题不清让大家误会了
系统加的删掉了,自己也没写。这会如何
web_spider
2003-01-14
打赏
举报
回复
推荐c++对象模型。
里面讲的很明白。
widewave
2003-01-14
打赏
举报
回复
是啊,不过编译器会替你合成的。不过,合成的不一定管用。
如没有虚析构函数就不能被继承。
fangrk
2003-01-14
打赏
举报
回复
你的代码可以没有
程序会自动扩充的,但是自动扩充的可能不是你想要的
积木
2003-01-14
打赏
举报
回复
不写虽然系统会给你加,
但是编写它们会带给你许多的方便,
并且在很多情况下,这是必不可少的
例如数据变量的初始化和内存的回收,等等,非常多,
所以从很大程度来说 构造函数,析构函数比不可少!
腾讯2012笔试题目
腾讯2012笔试题目,包含很多普及型很高的题目
构造函数
、
析构函数
、虚函数
文章目录为什么
构造函数
不能为虚函数?为什么
析构函数
要定义为虚函数?虚函数的工作原理?有关虚函数的几个知识点 为什么
构造函数
不能为虚函数? 参考回答: 在
类
中,
构造函数
用于初始化对象及相关操作。
构造函数
是不能声明为虚函数的,因为虚函数对应一个virtual table(虚函数表),这个表的地址是存储在对象的内存空间的。 而在执行
构造函数
前,对象尚未完成创建,内存都
没有
被分配,所以无法去查询虚函数表...
【Cpp】
类
和对象#
构造函数
析构函数
但是st1的
类
没有
写
析构函数
,也只是调用默认生成的析构,这时,st1中的动态申请的堆空间就无法释放了,造成内存泄漏)默认生成虽然好,但是如果默认生成的构造/
析构函数
在调用时由于只处理自定义
类
型,如果自定义
类
型的构造/析构
没有
写,那么即使是默认生成的函数,本质上也是
没有
做任何工作。
构造函数
是特殊的成员函数,需要注意的是,
构造函数
虽然名称叫构造,但是
构造函数
的主要任务并不是开空间创建对象,而是初始化对象。与
构造函数
功能相反,
析构函数
不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。
C++
构造函数
、
析构函数
、拷贝
构造函数
原文链接:
构造函数
、
析构函数
、拷贝
构造函数
一、
构造函数
概念(作用): 用来在创建对象时,对对象进行初始化 特点
构造函数
无返回值,函数名与
类
名相同,必须存在于public中
构造函数
可以重载 不用来初始化static数据成员,因为static数据成员不属于
类
默认
构造函数
(合成的
构造函数
) 如果
没有
在
类
中给出
构造函数
,编译器自动生成一个默认的
构造函数
(无参数、函数体为空) 当在
类
中手动给出
构造函数
时,默认的
构造函数
消失 编译器自动生成的默认的
构造函数
又称为“合成的默认构造.
构造函数
与
析构函数
有何不同
(1)概念不同:
析构函数
:对象所在的函数已调用完毕时,系统自动执行
析构函数
。
构造函数
:是一种特殊的方法。特别的一个
类
可以有多个
构造函数
,可根据其参数个数的不同或参数
类
型的不同来区分它们 即
构造函数
的重载。 (2)作用不同:
析构函数
:
析构函数
被调用。
构造函数
:为对象成员变量赋初始值 (3)目的不同:
析构函数
:”清理善后” 的工作
构造函数
:主要用来在创建对象时初始化对象,...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章