题解 | #数组类的拷贝构造函数#

数组类的拷贝构造函数

http://www.nowcoder.com/practice/73014020b7d54622ac5000b06eaaa4ef

#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这个a吗,感觉没必要,初始化时候不是还没new吗这样不就多delete一次吗
1 回复 分享
发布于 2023-03-21 09:07 安徽

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
5 收藏 评论
分享
牛客网
牛客企业服务