c++分文件定義 深拷貝與淺拷貝
阿新 • • 發佈:2017-09-08
淺拷貝
1、
#include <stdlib.h> #include <iostream> #include "Array.h" using namespace std; int main(void) { Array arr1; arr1.setCount(5); Array arr2(arr1); // ~Array(); cout<<"arr2.m_iCount:"<<arr2.getCount()<<endl; system("pause"); return 0; }
2、
#include "Array.h" #include <iostream> using namespace std; Array::Array() { cout<<"Array"<<endl; } Array::Array(const Array & arr) { m_iCount=arr.m_iCount; cout<<"Array &"<<endl; } Array::~Array() { cout <<"~Array"<<endl; } void Array::setCount(int count) { m_iCount=count; } int Array::getCount() { return m_iCount; }
3、
class Array { public : Array();//默認構造函數 Array(const Array &arr);//拷貝構造函數 ~Array (); void setCount(int count); int getCount(); private: int m_iCount; };
運行結果:
c++分文件定義 深拷貝與淺拷貝