当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

Copy构造函数的使用

    和新手朋友一起来温习一下复制构造函数的基础使用。
    Copy构造函数:
    1.它是构造函数,只有对象被初始化的时候才会调用构造函数。
    2.它的初始目的是把一个已经有的对象复制给新创建的对象。
    3.它有时候会被隐式调用。
    4.如果不想采用赋值的方试来创建对象,就把Copy构造函数设置为private。
    5.如果不想让对象被复制,就把Copy构造函数和赋值操作符(函数)设置为private。
    例子:

    #include \"stdafx.h\"
    #include <iostream>

    using namespace std;

    class A
    {
    public:
         A(int aa):c(aa){cout << \"A(int aa)\" << endl; }
         A(A& ca)
         {
             c = ca.c;
             cout << \"A(A& ca)\"<<endl;
         }
         const A& operator=(A& ca)
         {
             c = ca.c;
             cout << \"operator=(A& ca)\" << endl;
             return *this;
         }
    private:
         int c;
    };

    int _tmain(int argc, _TCHAR* argv[])
    {
         A a = 5; //构造函数
         cout<<\"=======A=========\"<<endl;
         A b = 2;//构函数
         cout<<\"========B========\"<<endl;
         a = b;//=赋值操作符
         cout<<\"=========A=B=======\"<<endl;
         a = A(7);//先构造后=
         cout<<\"========a=7=======\"<<endl;
         A c(a);//copy构造函数
         cout<<\"========c(a)========\"<<endl;
         A d = a;//copy构造函数


         return 0;
    }

相关内容
赞助商链接