C++中,拷贝构造函数,和构造函数有什么区别?
展开全部
构造函数:是用于对对象初始化名字,必须与类的名字相同,比如说定义一个圆类。
复制构造函数,在某种意义上相当于运算符“=”重载,把一个对象的数值复制给另一个
class circle
{
public:
circle (int r):radium(r){};//构造函数的第一种写法
circle (int r){radium=r;}//构造函数的第二种写法
circle(circle & c)
{
radium=c.radium;//这样复制,在主函数里用cir1(cir2);这样使用
}
private:
int radium;
};
复制构造函数,在某种意义上相当于运算符“=”重载,把一个对象的数值复制给另一个
class circle
{
public:
circle (int r):radium(r){};//构造函数的第一种写法
circle (int r){radium=r;}//构造函数的第二种写法
circle(circle & c)
{
radium=c.radium;//这样复制,在主函数里用cir1(cir2);这样使用
}
private:
int radium;
};
展开全部
拷贝构造函数可以防止类中的指针在对其他的对象赋值时出现问题,而构造函数只是一个简单的构造,不如拷贝构造函数安全,书本上应该有介绍的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拷贝构造是构造的一种特例,它是从同种对象来构造新实例
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
copy构造函数用于将一个对象为另一个对象初始化,例如参数列里的对象,虽然与operator=的函数体基本相同,但最好还是不要互相调用,且必要时声明为explicit,还用注意浅复制和深复制。
构造函数系用于声明对象时的资源申请,而default构造函数不用任何事。
构造函数系用于声明对象时的资源申请,而default构造函数不用任何事。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询