自己写一个类,类名自己定义,主要实现 拷贝构造 函数的功能,但是类成员变量里面一定要有指针,CString,CWindThread等类型的变量,我查了好多资料都没有明白是怎么回事,也不知道怎么写出来!

解决方案 »

  1.   

    但是类成员变量里面一定要有指针,CString,CWindThread
    -----------------
    看《深入浅出MFC》  也许会有收获~
      

  2.   

    class MyClass
    {
    public:
        int nLen;
        char * pData;
    public:
        MyClass(){nLen=0; pData=NULL;};
        ~MyClass() {nLen = 0; delete pData; };
        MyClass(const MyClass& temp) {nLen=temp.nLen; pData=new char[nLen];memcpy(pData, temp.pData, nLen);};
        MyClass& operator = (const MyClass& temp) {
               if ( pData != temp.pData ) { // 这里特殊,防治 a = a;这种赋值发生
                    delete pData;
                    nLen = temp.nLen;
                    pData = new char[nLen];
                    memcpy(pData, temp.pData, nLen);
                    // 这里不能够简单的用 pData = temp.pData;替换,否则会出问题的。
               }
               return * this;
        };
        Copy(const MyClass& temp) { *this = temp; };
    };