C++之構造函數、拷貝類型
阿新 • • 發佈:2018-08-16
類型 另一個 自己 初始 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++之構造函數、拷貝類型