问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是构造拷贝函数,初学者,求详细简单的讲解

发布网友 发布时间:2022-04-23 15:58

我来回答

1个回答

热心网友 时间:2023-10-04 01:40

构造函数:

与类名同名的类成员函数叫类的构造函数。构造函数的作用是用来编写初始化类成员变量的代码。

 

构造函数分为无参构造函数和有参构造函数,构造函数用于创建对象时调用。

 

无参构造函数

    无参构造函数又称默认构造函数

    无参构造函数的定义:

class  MyClass
{
public:
    MyClass()//与类名同名叫类的构造函数
    {
        //初始化代码
    }


void main()
{
    //以下两种写法都会自动调用默认构造函数
    MyClass A;
    MyClass *p=new MyClass();
}

 

有参构造函数

有参构造函数由开发者根据要求编写,参数不限,其中,如果参数含有同类对象,我们称该函数为拷贝构造函数。

 

顾名思义,拷贝构造函数的功能用来复制另一个对象的内部成员,包含各种变量及动态分配的内存,所以拷贝构造函数的功能又称深拷贝(深度拷贝或完全拷贝),由开发者编写。

 

题外话:对应的还有浅拷贝,但浅拷贝的功能是通过赋值操作符重载函数实现(就是等号“=”),系统自动支持,比如两个对象a和b,可以这么写:

    a=b;//这其实调用了默认赋值操作符重载函数,实现将两个对象的所有变量进行复制(不包含动态分配的内存)

 

拷贝构造函数的例子

class  MyClass
{
private:
 int _Value;//私有成员
public:
   void Set(int v)
   {
      _Value=v;
   }
//带同类对象参数的叫拷贝构造函数
   MyClass & MyClass(const MyClass & another)
   {
        //这里编写复制another对象中的所有变量到当前对象中的代码
        //用于在创建新对象时,使用另一个对象的成员变量的值初始化当前对象
        this->_Value=another._Value;//同类对象可以访问私有成员
        //其他任何复制代码
   }


void main()
{
    MyClass A;
    A.Set(10);//设置数据
    MyClass B(A);//创建对象B时调用拷贝构造函数,用对象A初始化B
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
心理咨询师培训怎么收费标准是多少 2024心理咨询师培训费用是多少钱 心理咨询师培训费用大概是多少 心理咨询师培训课程收费标准 新蒙迪欧空调怎么用? 福特蒙迪欧16款2.0T冷车启动怠速会一抖一抖的是什么情况 牛油果冻了还能吃不 牛油果冻过了能吃吗 泰兴人很有钱吗? 江苏有多少百万人口以上的城市 苹果xsmax充电52不充了再充十几分钟到90了怎么回事? c++中的拷贝函数是怎么回事 C++拷贝函数的作用 拷贝函数怎么写 防溺水手抄报内容口诀三字经? 自然堂在福建售价是多少?产品如何? 看抖音直播能不能截屏? 微信里怎么找已有的群? 福建省有哪些化妆品公司? 长江航运规划设计院的长江航运规划设计院 自己抖音主页可以截屏给别人吗? 不知道兰研化妆品好用吗? 退休一级建筑挂章的风险有多大? 抖音站外个人主页截图什么意思 福建都哪里有化妆品生产厂家 我是学电气自动化的,请电气工程师这个职位好找工作吗? 抖音截图可以作为证据吗 福建伊凡娜美容护肤品有限公司怎么样? 我是一名电厂职工,现为电气人员,从事电力操作等工作,并且取得计算机科学与技术专业的本科学历, 福建片仔癀化妆品有限公司怎么样? 拷贝构造函数的作用 求一屏保美女图片!很常见的那个! C++中怎么拷贝构造函数(格式及相关符号的意识分别是什么)并且拷贝函数的作用是什么 C++里面的构造函数,拷贝函数,赋值函数,菜鸟求解 笔记本桌面屏保 就要图片中这个美人儿的··· 求一个屏保,是一个美女,动态的,在做一些动作。超可爱 什么是c++字符串拷贝函数 C中字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现 这种在屏幕底下的美女壁纸 在EXCEL表中如何复制函数? 谁知道电脑桌面屏保上这个女的是谁? 关于C内存拷贝函数的问题 memcpy EXCEL里如何复制函数? XP屏保求美女名字或她的图片 string类 copy函数 想找这张图片的竖屏,用来做手机壁纸? 请问DelPhi中copy函数用法 拷贝构造函数 求漂亮的电脑屏保,适合女孩子用的。谢谢。我的邮箱是1213417315@qq.com. 想要找一些电脑屏保的图片自己设置屏保,什么样子的图片比较好啊?