CPP62. 数组类的拷贝构造函数
描述
现有一个数组类Array,请你设计一个正确的拷贝构造函数。输入描述
输出描述
输出这个数组。示例1
输入:
3 1 2 3
输出:
1 2 3
C++ 解法, 执行用时: 3ms, 内存消耗: 388KB, 提交时间: 2022-05-02
#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 &b){ this->n = b.getlen(); this->a = new int[this->n]; for (int i = 0;i < this->n;i++){ this->a[i] = b.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; }
C++ 解法, 执行用时: 3ms, 内存消耗: 392KB, 提交时间: 2022-06-01
#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 &b){ this->n=b.getlen(); this->a=new int [this->n]; for(int i=0;i<this->n;i++){ this->a[i]=b.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; }
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-08-03
#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(const Array &arr) { n = arr.n; a = new int [n]; for (int i=0;i<n;i++) { a[i] = arr.a[i]; } } void show(){ for (int i=0;i<n;i++) cout<<a[i]<<' '; } }; int main(){ Array a; Array b=a; b.show(); return 0; }
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-07-26
#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(const Array &c) { this->n=c.n; this->a=new int [n]; for (int i=0;i<n;i++) this->a[i]=c.a[i]; } void show(){ for (int i=0;i<n;i++) cout<<a[i]<<' '; } }; int main(){ Array a; Array b=a; b.show(); return 0; }
C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2022-07-19
#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& arr) { delete[] a; n = arr.getlen(); a = new int[n]; for (int i = 0; i < n; i++) { a[i] = arr.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; }