拷贝构造函数

Posted dart2100

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拷贝构造函数相关的知识,希望对你有一定的参考价值。

例如类:   class Student{

     public:

        Student(){

          cout<<"student"<<endl;

         }

     };

定义:Student stu1;                //这个三个实例化中,只有第一个会打印student,即执行构造函数

   Student stu2=stu1;        //另外的两个执行的是拷贝构造函数,不会打印student

   Student stu3(stu1);

拷贝构造函数:                                                     //注:可以有返回值,但是不可以重载;

    class Student{

    public:

      Student(){m_name="jo";}

      Student(const Student& stu){}               //未定义则系统自动默认一个,即赋值用

                         //即实例Student stu作为   =赋值 或者   ()赋值时,会自动调用拷贝 构造函数;

                         //而定义stu的时候(Student stu)会自动调用 构造函数

    Private:

       string m_name;

    };

 

 

技术分享图片技术分享图片


以上是关于拷贝构造函数的主要内容,如果未能解决你的问题,请参考以下文章

关于c++拷贝构造函数

拷贝构造函数

关于C++默认拷贝构造函数

C++拷贝构造函数:浅拷贝与深拷贝

构造函数 析构函数 拷贝构造函数 ~~~~~~~~~~拷贝构造函数

2022-04-09 STL容器vector与拷贝构造函数