社区
C++ 语言
帖子详情
有关拷贝构造的用法?
cnepine
2003-10-22 03:12:03
在c++中,何时才能用到拷贝构造函数,应该如何运用拷贝构造函数?
...全文
75
5
打赏
收藏
有关拷贝构造的用法?
在c++中,何时才能用到拷贝构造函数,应该如何运用拷贝构造函数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Flamesong
2003-10-22
打赏
举报
回复
daixinwei(无聊的我不听)说的是好的.
daixinwei
2003-10-22
打赏
举报
回复
这是一个必须自己定义拷贝构造的经典例子,由于是我自己打进来的,所以可能会出现语句错误,你自己注意一下就好了.不懂再问我!
#include<iostream.h>
#include<string.h>
class string{
private:
char *st;
public:
string(char *s)
{
str=new char[strlen(s)+1];
stcpy(str,s);
}
void print(){cout<<str<<endl;}
~string(){cout<<"delete..."<<endl;delete str;}
};
void main()
{
string s1="hello";
string s2=s1;
s1.print();
s2.pring();
}
在这个程序里就出现问题了,问题语句是:string s2=s1;
因为这个语句等价于
s2.str=s1.str;
所以在执行析构时由于s2.str和s1.str指向的都是HELLO所以HELLO要被删除两次,所以会产生错误
解决的方法是自己定义一个拷贝初始化:
string::string(string& a)
{
str=new char[strlen(a.str)+1];
strcpy(str,a.str);
}
daixinwei
2003-10-22
打赏
举报
回复
没有关系的,一般来说,很少有人会去没分的贴子!大家都要CSDN的分嘛!一样自己的问题没有人答!上面的答得不知道你明白没有,没明白,可以点一下我的名字然后留言给我,我尽力帮你,我也是个阿菜,大家互相帮忙嘛!呵呵!这个贴子你认为没有用的时候,一定记得选一下管理,然后点一下给分来结贴不然还要扣分的,呵呵!有问题可以问我!
cnepine
2003-10-22
打赏
举报
回复
谢谢你,我是这儿的Freshman,从别人那儿得知的这个地方。
现在还不是太清楚这儿的游戏规则。
不好意思的。
晴多多关照。
daixinwei
2003-10-22
打赏
举报
回复
没分没关系我帮你答
在用一个对象初始化该类的另一个对象时这个东东就有用了
有时初始的是指针,就会出现两个对象的指针指向同一个地址的情况,这时如果你将两个对象都DELETE了,就会出错,这时就需要这个东东来帮忙解决问题了,还不懂的话,留言给我,我给你一个例子.
C
拷贝构造
函数.rar
C
拷贝构造
函数,编写程序熟悉拷贝函数的三种
用法
。理解临时对象的概念,并知道它的作用、何时被创建、何时被析构。
C++
拷贝构造
函数详解[可运行源码]
本文详细介绍了C++中
拷贝构造
函数的定义、使用条件、浅拷贝与深拷贝的区别及其应用场景。
拷贝构造
函数是一种特殊的构造函数,用于基于同一类的其他对象进行构建及初始化。文章通过代码示例展示了
拷贝构造
函数的基本
用法
,并深入探讨了浅拷贝和深拷贝的差异,特别是在处理动态内存分配时的注意事项。此外,还解答了关于
拷贝构造
函数的多个常见问题,如为什么必须使用引用传递、
拷贝构造
函数的作用等,为C++开发者提供了全面的参考。
C++
拷贝构造
函数详解[代码]
本文详细介绍了C++中的
拷贝构造
函数,包括其定义、特点和使用场景。
拷贝构造
函数是一种特殊的构造函数,用于完成对象的拷贝。其第一个参数必须是自身类类型的引用,否则会导致无穷递归调用。文章通过代码示例展示了
拷贝构造
函数的正确和错误
用法
,并解释了为什么必须使用引用参数。此外,还讨论了编译器自动生成的
拷贝构造
函数的行为,以及何时需要显式定义
拷贝构造
函数。特别是在涉及深拷贝的情况下,必须手动实现
拷贝构造
函数以避免浅拷贝带来的问题,如内存重复释放和数据共享。最后,文章总结了何时需要显式实现
拷贝构造
函数,并提供了深拷贝的实现示例。
详解C++中构造函数,
拷贝构造
函数和赋值函数的区别和实现
主要介绍了C++中构造函数,
拷贝构造
函数和赋值函数的区别和实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
复制构造函数的
用法
实例
总有人会不很了解复制构造函数的
用法
,通过实例就可以清除了解其
用法
。
C++ 语言
65,208
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章