C++中,拷贝构造函数,和构造函数有什么区别?

 我来答
swift1911
2012-04-21
知道答主
回答量:13
采纳率:0%
帮助的人:12.6万
展开全部
构造函数:是用于对对象初始化名字,必须与类的名字相同,比如说定义一个圆类。
复制构造函数,在某种意义上相当于运算符“=”重载,把一个对象的数值复制给另一个
class circle
{
public:
circle (int r):radium(r){};//构造函数的第一种写法
circle (int r){radium=r;}//构造函数的第二种写法
circle(circle & c)
{
radium=c.radium;//这样复制,在主函数里用cir1(cir2);这样使用
}
private:
int radium;
};
三生石924862
2012-04-21
知道答主
回答量:7
采纳率:0%
帮助的人:10.3万
展开全部
拷贝构造函数可以防止类中的指针在对其他的对象赋值时出现问题,而构造函数只是一个简单的构造,不如拷贝构造函数安全,书本上应该有介绍的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
arongustc
科技发烧友

2012-04-20 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5894万
展开全部
拷贝构造是构造的一种特例,它是从同种对象来构造新实例
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
博学谷
2021-01-05 · 贡献了超过955个回答
知道答主
回答量:955
采纳率:0%
帮助的人:44.9万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nissanquest
2012-04-20 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:167
采纳率:100%
帮助的人:141万
展开全部
copy构造函数用于将一个对象为另一个对象初始化,例如参数列里的对象,虽然与operator=的函数体基本相同,但最好还是不要互相调用,且必要时声明为explicit,还用注意浅复制和深复制。
构造函数系用于声明对象时的资源申请,而default构造函数不用任何事。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式