蚌埠做网站建设费用,手机百度网盘登录入口,自己怎么建立微网站,成都网站优化指导一、概念 使用一个已经存在的对象,去构造(初始化)另一个对象二、格式 参数加上const,因为拷贝构造函数在几种情况下都会被隐式地使用,因此拷贝构造函数不应该是explict的const:防止函数内部修改值:防止无限循环拷贝类名(类名 const 参数名)
{
函数体
}三、… 一、概念 使用一个已经存在的对象,去构造(初始化)另一个对象 二、格式 参数加上const,因为拷贝构造函数在几种情况下都会被隐式地使用,因此拷贝构造函数不应该是explict的const:防止函数内部修改值:防止无限循环拷贝 类名(类名 const 参数名)
{
函数体
}三、拷贝构造函数的分类 浅拷贝:成员变量无动态内存(指针等)变量时,在拷贝构造函数内对成员变量只做简单的赋值,不做内存申请深拷贝:成员变量有动态内存(指针等)变量时,在拷贝构造函数内对成员变量先进行内存申请,然后进行内容拷贝默认拷贝构造:没有写拷贝构造时,系统默认给出(默认的为浅拷贝) 浅拷贝: //此类情况使用浅拷贝
class Cperson
{
private:
int a;
public:
Cperson(Cperson const other);//拷贝构造
}
Cperson::Cperson(Cperson const other)
{
this-a=other.a;
}深拷贝: