拷贝构造函数

例如类:   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;

    };

 

 

posted @ 2018-01-13 09:01  Dart2100  阅读(576)  评论(0编辑  收藏  举报