zoukankan      html  css  js  c++  java
  • C/C++:拷贝构造函数

    拷贝构造函数是一种特殊的构造函数,因为它也是用来构造对象的。它具有构造函数的所有特性。拷贝构造函数的作用是用一个已经存在的对象去初始化另一个对象,这两个对象的类类型应该是一样的。定义拷贝构造函数的形式是:

    class 类名
           {
            public :
                       类名(形参);                    //构造函数
                       类名(类名 &对象名);   //拷贝构造函数
               ...
           };
           类名::类(类名 &对象名)    //拷贝构造函数的实现
           {  
                     函数体   
           }

    拷贝构造函数的形参是本类的对象的引用。

    拷贝构造函数在以下三种情况下会被调用:

    a.当用类的一个对象去初始化该类的另一个对象时系统自动调用拷贝构造函数实现拷贝赋值

    int main()
           { 
                    Point A(1,2);
                    Point B(A); //拷贝构造函数被调用
                    cout<<B.GetX()<<endl;
                    return 0;
           }

    b.若函数的形参为类对象,调用函数时,实参赋值给形参,系统自动调用拷贝构造函数。例如:

    void fun1(Point p)
           {  
                    cout<<p.GetX()<<endl;
           }
           int main()
           {  
                   Point A(1,2);
                   fun1(A); //调用拷贝构造函数
                   return 0;
           }    

    c.当函数的返回值是类对象时,系统自动调用拷贝构造函数。例如:

    Point fun2()
           {   
                  Point A(1,2);
                  return A; //调用拷贝构造函数
           }
           int main()
           {
                 Point B;
                 B=fun2();
                 return 0;
           }

  • 相关阅读:
    Linux权限
    Linux用户和用户组操作
    input输入框美化
    Ajax原理一篇就够了
    CSS样式----浮动(图文详解)
    linx系统操作
    文件打包,压缩,解包,解压缩
    Linux学习笔记(一)
    ios 11导航栏替换返回按钮图片,隐藏文字
    swift开发笔记23 BirthDays
  • 原文地址:https://www.cnblogs.com/lucas-hsueh/p/3734257.html
Copyright © 2011-2022 走看看