1. 程式人生 > >C++之構造函數、拷貝類型

C++之構造函數、拷貝類型

類型 另一個 自己 初始 c++ pre ++ 釋放 turn

無參數的構造函數適合沒初始化值的初始化對象,而引用拷貝適合創建對象時用另一個對象對其初始化,如果此時用的是淺拷貝則釋放一個對象內存時系統會釋放2次從而出錯(因為它指向同一個內存),深拷貝就不存在這個問題,各自都有自己的數據。
class Array 2 { 3 public: 4 Array(){m_iCount=5;m_pArr=new int[m_iCount];} 5 Array(const Array &arr) 6 { 7 m_iCount=arr.m_iCount; 8 m_pArr=new int[m_iCount]; 9 for(int I=0;i<m_iCount;i++) 10 { 11 m_pArr[i]=arr.m_pArr[i]; 12 } 13 } 14 private: 15 int m_iCount; 16 int *m_pArr; 17 };
int main()
{
    Array arr1;
    Array arr2=arr1;
    return 0;
}

C++之構造函數、拷貝類型