社区
C++ 语言
帖子详情
关于拷贝构造函数的疑问
w66187564
2008-03-01 12:59:41
拷贝构造函数的参数为什么必须是对象的引用,而不能直接是对象?
...全文
116
10
打赏
收藏
关于拷贝构造函数的疑问
拷贝构造函数的参数为什么必须是对象的引用,而不能直接是对象?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Chappell
2008-03-01
打赏
举报
回复
如果是直接对象参数会导致调用拷贝构造函数。
无限递归,最后栈溢出,程序退出。
michney
2008-03-01
打赏
举报
回复
栈溢出嘛
你传参的时候,要根据实参构造副本,要掉拷贝构造函数(自身无限递归),最后溢出
visame
2008-03-01
打赏
举报
回复
对,如果不是引用就是无限递归
你需要明白函数传参(非引用的话)的时候是拷贝传递的,所以要调用拷贝构造函数。
RMS_forever
2008-03-01
打赏
举报
回复
是无限递归,每次编译器都会产生一个临时对象,直到内存耗尽
dragonfly2008
2008-03-01
打赏
举报
回复
在按值传递时,本身传递对象副本,就调用了拷贝构造函数
结果反复调用,造成无限循环
hityct1
2008-03-01
打赏
举报
回复
mark
iambic
2008-03-01
打赏
举报
回复
按值传参需要调用拷贝构造函数。
xbt746
2008-03-01
打赏
举报
回复
又学习了东西
a013231
2008-03-01
打赏
举报
回复
class Foo
{
public:
Foo(Foo f) {}//如何把实参复制给形参?调用Foo::Foo(Foo)?那好,无限递归吧.
};
dubiousway
2008-03-01
打赏
举报
回复
如果不是引用,那就会形成无限嵌套,无限循环。你仔细想一下就明白了
详解C++ 编写String 的构造函数、
拷贝构造函数
、析构函数和赋值函数
主要介绍了详解C++ 编写String 的构造函数、
拷贝构造函数
、析构函数和赋值函数的相关资料,这里提供实例帮助大家理解掌握这部分内容,需要的朋友可以参考下
C/C++
拷贝构造函数
举例
C/C++
拷贝构造函数
举例 目录 1.
拷贝构造函数
定义 2.默认
拷贝构造函数
3.显式
拷贝构造函数
4.参数传递时,调用
拷贝构造函数
正文 1.
拷贝构造函数
定义
拷贝构造函数
是一种对构造函数的重载。与构造函数有着相同的作用,在创建新对象时,将数值赋值给它们的成员函数。 2.默认
拷贝构造函数
若没有将
拷贝构造函数
显式地定义出来,类具有默认的
拷贝构造函数
。下记程序里只有带参数arg的构造函数,并未定义
拷贝构造函数
。 //例1 #include <iostream> #include &l
坚持学习100天:
拷贝构造函数
前言 Hello,我是修齊。 学习C++的第一百零六天,每天强迫自己看一点,看不懂也要看,很心累,但也相信会有甜的那天。 在这里记录一些学习的东西和学习的心情,内容主要是一些自己学习整理的小笔记。 一、
拷贝构造函数
用一个已经存在的对象来初始化该类的新对象,一个是用户定义
拷贝构造函数
,另一个系统生成默认的
拷贝构造函数
。 1.定义
拷贝构造函数
2.调用
拷贝构造函数
二、自定义
拷贝构造函数
1.自定义
拷贝构造函数
的形式 类名(类名&对象名) {
拷贝构造函数
的函数体 } class ypoint
C++学习之路-
拷贝构造函数
拷贝构造函数
也是构造函数的一种。普通的构造函数可以是无参的,也可以是有参的。但是
拷贝构造函数
必须是有参的,如下所示,参数就是const类型的对象引用(格式固定,别问为什么) 我们知道,当创建对象的时候会自动调用构造函数。那什么时候会调用
拷贝构造函数
呢? 答案是:当利用已存在的对象创建一个新对象时(拷贝对象),就会调用新对象的
拷贝构造函数
进行初始化新对象的成员变量。 拷贝对象,拷贝了什么? 利用已经存在的对象去创建新的对象,叫作拷贝操作。拷贝对象,也就是拷贝了对象内存里的东西,也就是拷贝了原有对象的成员。用一
【C/C++】
拷贝构造函数
的调用 使用方法
默认情况下,c++编译器至少给一个类添加3个函数 1.默认构造函数(无参,函数体为空) 2.默认析构函数(无参,函数体为空) 3.默认
拷贝构造函数
,对属性进行值
拷贝构造函数
的调用规则: * 如果用户定义有参构造函数,c++不再提供默认无参构造,但是会提供默认拷贝构造 * 如果用户定义
拷贝构造函数
,c++不再提供其他构造函数
拷贝构造函数
的调用
拷贝构造函数
调用有三种情况: 使用一个已经创建完毕的对象来初始化一个新对象 值传递的方式给函数参数传值 以值方式返回局部对象 根据构造函数的分类创建
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章