1. 程式人生 > >c++分文件定義 深拷貝與淺拷貝

c++分文件定義 深拷貝與淺拷貝

淺拷貝

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++分文件定義 深拷貝與淺拷貝