#include<bits/stdc++.h>
using namespace std;
class Array{
	private:
		int n;//数组大小 
		int *a;//数组 
	public:
		Array(){
			cin>>n;
			a=new int [n];
			for (int i=0;i<n;i++) cin>>a[i];
		}
		~Array(){
			delete []a;
		}
		int getlen(){
			return n;
		}
		int get(int i){
			return a[i];
		}
		// write your code here......
        Array(Array &array){
			delete [] a;
			n=array.getlen();
			a=new int [n];
			for (int i=0;i<n;i++) {
				a[i]=array.get(i);

			}
		}
		void show(){
			for (int i=0;i<n;i++) cout<<a[i]<<' ';
		}
};
int main(){
	Array a;
	Array b=a; 
	b.show();
	return 0;
}

注意拷贝函数,参数中要使用引用方式。

并且要delete之前的数组,重新定义自己的变量,构造出与被拷贝函数一模一样的变量